DBFluteの区分値をLastaThymeleafで使う方法

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(‘Publisher’)実行結果

#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.list(‘Publisher.hitotsubashi’)実行結果

#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.listAll(‘Publisher’)実行結果

別名(表示名)を取得する

#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(bean.publisher)実行結果

#cls.alias(区分値インスタンス, デフォルト値)

区分値インスタンスがnullの場合、デフォルト値が表示されます。

/** java bean */
public class ClassificationExpressionBean {
    public Publisher nullValue = null;
}
<!-- HTML -->
<th:block th:text="${#cls.alias(bean.nullValue, 'デフォルト値')}"></th:block>

#cls.alias(bean.nullValue, ‘デフォルト値’)実行結果

コード値を取得する

#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(bean.publisher)実行結果

#cls.code(区分値名, 識別名)

<!-- HTML -->
<th:block th:text="${#cls.code('Publisher', 'Shueisha')}"></th:block>

#cls.code(‘Publisher’, ‘Shueisha’)実行結果

区分値インスタンスを取得する

#cls.codeOf(区分値名, コード)

<!-- HTML -->
<th:block th:text="${#cls.codeOf('Publisher', 'KAD').alias()}"></th:block>

#cls.codeOf(‘Publisher’, ‘KAD’)実行結果

#cls.nameOf(区分値名, 識別名)

<!-- HTML -->
<th:block th:text="${#cls.nameOf('Publisher', 'Kodansha').alias()}"></th:block>

#cls.nameOf(‘Publisher’, ‘Kodansha’)実行結果