0

多くの入力文字列値を持つフォームを含む JSF ページを開発しています。各 input の Bean に対応するフィールドを作成したくありません。代わりに地図を使用することは可能ですか。

フォーム入力要素を次のように表示したいです。

<h:inputText value='#{myBean.data["key"]}' /> // or something like this

また、Bean には次のようなマップが含まれています。

class myBean {
Map data;

...
}
4

1 に答える 1

3

このようなコードを作成した場合、マップ操作のゲッターとセッターはどのようになりますか?

特にない。モデルのプロパティには常に使用する必要があるため、単なる標準のゲッターです。

public Map<String, Object> getData() {
    return data;
}

セッターは使用されないため、必須ではありません。ELはそのためにマップ独自のput()方法を使用します。マップがBeanの(ポスト)コンストラクターで事前に作成されていることを確認するだけで済みます。JSF/ELはそれを行いません。

public MyBean() {
    data = new HashMap<String, Object>();
}
于 2012-09-16T16:32:10.667 に答える