タグの共通的な属性の使い方

タグの勉強をしていく上で、頻繁に見かける属性の使い方。
使い道がわからないのはとりあえず無視。

converter属性

タグの値をconvertする。java.faces.convert.converterインターフェースをimplementsしているクラス
を作って設定する。

とりあえず大文字に変換するconverterを作成。

@FacesConverter(value="toUpperCase")
public class ToUpperCaseConverter implements Converter{
    @Override
    public Object getAsObject(FacesContext context, UIComponent component, String value) {
        return value != null ? value.toUpperCase() : null;
    }
    @Override
    public String getAsString(FacesContext context, UIComponent component, Object value) {
        return value != null ? value.toString().toUpperCase() : null;
    }
}
<h:body>
<h:outputLabel
  value="#{outputLabelBean.outputLabel}"
  converter="toUpperCase"
/>
</h:body>

そしてh:outputLabelのconverter属性にアノテーションvalueに設定した文字列を設定

するとOUTPUTと表示されました。

以前は設定ファイル(faces-config.xml)にconverter-idなるものを記述したらしいのですが
JSF2.0ではアノテーションを書くだけでよいらしい。
converterの場合は

@FacesConverter(value="[converter-id]")

こんな感じ

id属性

id属性に指定した値がそのままid属性で出力されます。

<h:outputLabel
  value="#{outputLabelBean.outputLabel}"
  id="id"
/>

↓出力結果

<label id="id">output</label>

rendered属性

booleanで設定します。falseにすると出力されなくなります。
デフォルトはtrueです。

<h:outputLabel
  value="#{outputLabelBean.outputLabel}"
  rendered="false"
/>
残り

近いうちにつづきをやります。