1

に問題があり<h:inputText>ます。特に、xhtmlページに一連のinputtext、コンボボックス、カレンダーがあります。

value="#{myBean.first}"それぞれに、follow 、、などのvalue属性がありますvalue="#{myBean.second}"

このように、myBeanには膨大な数のセッターとゲッターが必要です。次のように、1つのセッターと1つのゲッターのみを使用する必要があります。

public void setValue(String theId, String theValue){}
public String getValue(String theId){}

したがって、これらの2つのメソッドでのみ、key=theIdとvalue=theValueがユーザーによって挿入されたマップを使用します。

私の質問は、xhtmlページでこれをどのように行うことができるかです。
それがバリュータグになるのでしょうか?パラメータをsetter/getterに渡すための特別な通知はありますか?

inputTextに追加された「パラメータ」はオブジェクトである可能性があることに注意してください。

どのようにできるのか?

4

1 に答える 1

1

キーと値のペアをマップに保存する場合は、UIコンポーネントでマップを直接参照できます。あなたのバッキングBeanがこれを持っているとしましょう:

public Map<String, Object> getDataMap() { return dataMap; }
public void setDataMap(Map<String,Object> dataMap) { this.dataMap = dataMap; }

xhtmlは次のようになります。

<h:inputText value="#{myBean.dataMap['first']}" />

<h:inputText value="#{myBean.dataMap['second']}" />
于 2012-04-06T15:41:43.050 に答える