【发布时间】:2012-01-04 11:42:05
【问题描述】:
我正在使用 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>
我的后盾:
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>();
}
基本上我想要的是使用来自文本输入框的用户输入来更新地图值。
【问题讨论】:
-
如你所见,我正在关注这个例子stackoverflow.com/questions/7010256/…
-
尝试在您的托管 bean 上添加一个 FlowListener 事件并在那里验证您的地图中的值是否正在服务器端更新:
flowListener="#{managedBean.onFlowListener}。如果没有发生这种情况,请确认您在回发的验证阶段没有收到任何异常或验证错误。 -
@maple_shaft 我的观点已经有了。
-
问题是如何使用用户输入输入文本字段的内容更新值映射。 this (#{gdsiGeodataBean.actionCommand.values['reqs.name']) 只允许我在给定键(reqs.name)的情况下检索地图中的值。如何将输入绑定到支持 bean 映射中的值。
标签: jsf binding map primefaces