3

バッキング Bean のフィールドを selectOneListbox の選択された値にバインドしたいと考えています。この値は null になる可能性があるため、これを 0 に変換したいと考えています。これにより、選択した値が「デフォルト」の selectItem に設定されます。私はJSF2を使用しています

http://java.sun.com/jstl/core taglib (を使用<c:if test="#{empty...}>)でこれを行う予定です。

私の質問は次のとおりです。これを行うための「よりクリーンな」方法はありますか。おそらくJSF(2)関連のtaglibでしょうか?

ありがとうございました!

4

2 に答える 2

3

これを行う「JSFish」の方法は、コンバーターを作成することです。

public Object getAsObject(FacesContext context, UIComponent comp, String param) {
    return (param.equals("0")) ? null : param;
}

public String getAsString(FacesContext context, UIComponent comp, Object obj) {
    return (obj == null) ? "0" : obj.toString();
}
于 2009-12-31T13:48:21.727 に答える
3

アイテム値としてLongorIntegerの代わりに使用してください。StringEL は、文字列との間で数値 (およびブール値) の値を自動的に変換します。

于 2009-12-31T14:03:34.340 に答える