JSFは基本的にテンプレートなので、
- HTML+CSS+JavaScript
- ロジック側からの変数の出力
- ループ処理
以上のことをさせることはあまりありません。
が、まれに条件分岐なんかをさせたいときがあります。
そういう場合は
<c:if test=#{hogeBean}>~</c:if>タグを使います。
hogeBeanのなかは大体booleanが入ることがほとんとですね。
非常に簡単な例では下記のように書きます。
1 2 3 |
<c:if test="#{hogeBean.flg}"> ~何らかの処理 </c:if> |
またelseが使えないのでこの場合の否定形は
1 2 3 |
<c:if test="#{!hogeBean.flg}"> ~何らかの処理 </c:if> |
のように書きます。
またifタグを書くときに自分がやってしまったミスを紹介します。
xhtmlは書いた時点でHTML構造がくずれているとだめなので、下記のようなHTMLはアウトです。(HTMLとして吐かれたときに正しくともそれ以前の段階で入れ子構造が崩れているとエラーがでます。)
1 2 3 4 5 6 7 8 9 10 |
<c:if test="#{hogeBean.flg}"> <div class="sample"> </c:if> <c:if test="#{!hogeBean.flg}"> <div class="sample"> </c:if> <!--閉じる用のdivタグ--> </div> |