私のBeanはビュースコープです。ゲッターとセッターを持つ単純な文字列プロパティがあります。ゲッターは正常に動作しますが (プロパティの初期化によってチェックされます)、セッターは動作しません。セッター メソッドでは、各受信パラメーターを使用して Stringbuffer を構築しています。
コード:
public String getParamval() {
return paramval;
}
public void setParamval(String paramval) {
logger.info("Incoming value:" + paramval);
pvals.append(paramval);
this.paramval = "VAL";
}
それは間違っていますか?入力文字列が渡されているかどうかを確認するためにセッター内でテストしましたが、明らかにメソッドが呼び出されていないか、まったく呼び出されていません。ビューでは #{} 表記を使用しています。
意見:
<c:forEach items="${gdsiGeodataBean.requiredfields}" var="reqs">
<h:outputLabel value="#{reqs}:* " />
<pou:inputText value="#{gdsiGeodataBean.paramval}" required="true" requiredMessage="Input is required."/>
</c:forEach>
そして、なぜセッターメソッドで文字列バッファーを構築したいのでしょうか? なぜなら、入力テキストは動的リストに基づいて動的に作成されるからです。バインドする Bean プロパティは 1 つだけです。
マップを使用できることはわかっていますが、上記と同じ理由で、setter メソッドでマップ値を更新できないようです。これは、私がここで尋ねた質問に関連していますマネージド Bean のマップ値の更新