DBFluteの区分値(CDef)をLasta Thymeleafで利用するには「#cls」を使用します。
関連記事:Lasta Thymeleafで区分値のセレクトボックスを作成する方法はこちら。↓
Lasta Thymeleaf では、DBFluteの区分値(CDef)で簡単にセレクトボックスを作成することができます。
関...
※この記事内でサンプルとして使う区分値は以下です。
# classificationDefinitionMap ; Publisher = list:{ ; map:{ ; topComment=出版社; codeType=String ; groupingMap = map:{ ; hitotsubashi = map:{ ; groupComment = 一ツ橋グループ ; elementList = list:{Shueisha; Shogakukan} } } } ; map:{code=SHU; name=Shueisha ; alias=集英社} ; map:{code=KOD; name=Kodansha ; alias=講談社} ; map:{code=SHO; name=Shogakukan ; alias=小学館} ; map:{code=KAD; name=Kadokawa ; alias=角川書店} }
実行環境:
LastaFlute(1.0.0)
Lasta Thymeleaf(0.3.1)
DBFlute(1.1.4)
区分値のリストを取得する
#cls.list(区分値名)
<!-- HTML --> <th:block th:each="item : ${#cls.list('Publisher')}"> <label><input type="radio" name="publisher" value="${item.code()}" /> <th:block th:text="${item.alias()}"></th:block></label> </th:block>
#cls.list(区分値名.グループ名)
<!-- HTML --> <th:block th:each="item : ${#cls.list('Publisher.hitotsubashi')}"> <label><input type="radio" name="publisher-hitotsubashi" value="${item.code()}" /> <th:block th:text="${item.alias()}"></th:block></label> </th:block>
#cls.listAll(区分値名)
#cls.list(区分値名)でグループ名を指定しない場合と同じ結果になります。
<!-- HTML --> <th:block th:each="item : ${#cls.listAll('Publisher')}"> <label><input type="radio" name="publisher-all" value="${item.code()}" /> <th:block th:text="${item.alias()}"></th:block></label> </th:block>
別名(表示名)を取得する
#cls.alias(区分値インスタンス)
/** java bean */ public class ClassificationExpressionBean { public Publisher publisher = Publisher.Shogakukan; }
<!-- HTML --> <th:block th:text="${#cls.alias(bean.publisher)}"></th:block>
#cls.alias(区分値インスタンス, デフォルト値)
区分値インスタンスがnullの場合、デフォルト値が表示されます。
/** java bean */ public class ClassificationExpressionBean { public Publisher nullValue = null; }
<!-- HTML --> <th:block th:text="${#cls.alias(bean.nullValue, 'デフォルト値')}"></th:block>
コード値を取得する
#cls.code(区分値インスタンス)
/** java bean */ public class ClassificationExpressionBean { public Publisher publisher = Publisher.Shogakukan; }
<!-- HTML --> <th:block th:text="${#cls.code(bean.publisher)}"></th:block>
#cls.code(区分値名, 識別名)
<!-- HTML --> <th:block th:text="${#cls.code('Publisher', 'Shueisha')}"></th:block>
区分値インスタンスを取得する
#cls.codeOf(区分値名, コード)
<!-- HTML --> <th:block th:text="${#cls.codeOf('Publisher', 'KAD').alias()}"></th:block>
#cls.nameOf(区分値名, 識別名)
<!-- HTML --> <th:block th:text="${#cls.nameOf('Publisher', 'Kodansha').alias()}"></th:block>