Primefacesウィザードコンポーネントを使用しています。あるタブでは、以前のタブ入力(ユーザータイプ)に基づいて入力ボックスを動的に作成しています。入力ボックスのテキストラベルは、リストから派生したものです。私のバッキングビーンでは、キーとしての入力ラベルと値としての入力ボックス入力を含むマップを持っています。ウィザードを使用している場合、入力ボックス値をバッキングBeanプロパティのマップ値にバインドする方法
次、私は、ユーザー入力で更新されるマップ(値)(キーに対応)
<c:forEach items="#{gdsiGeodataBean.actionCommand.fields}" var="reqs">
<h:outputLabel for="#{reqs.name}" value="#{reqs.name}:* " />
<pou:inputText value="#{gdsiGeodataBean.actionCommand.values['reqs.name']}" required="true" requiredMessage="Input is required."/>
</c:forEach>
私のバッキングBeanたいクリック:私は基本的に
private List<RequiredParam> fields; // +getter (no setter required)
private Map<String, String> values; // +getter (no setter required)
public CommandAction(String actionName, String actionParams, String context) {
this.actionName = actionName;
this.actionParams = actionParams;
this.contextName = context;
//Set up parameters
getRequiredParams();
getOptionalParams();
fields = getFields();
values = new HashMap<String, String>();
}
をテキスト入力ボックスからのユーザ入力によってマップ値が更新されることが望ましい。
私はこの例に従っていました。私はこの例に従っていました。http://stackoverflow.com/questions/7010256/how-to-dynamically-build-a-back-bean-edit-form – algone
FlowListenerイベントを追加してみてください'flowListener ="#{managedBean.onFlowListener} "。 これが発生していない場合は、例外や検証を受けていないことを確認してくださいエラーが発生しました。ポストバックの検証フェーズ中にエラーが発生しました。 –
@maple_shaft私は既に私の見解を持っています。 –
algone