这是场景(简化):
有一个mrBean
带有成员和适当的 getter/setter 的 bean(称为它):
private List<String> rootContext;
public void addContextItem() {
rootContext.add("");
}
JSF 代码:
<h:form id="a_form">
<ui:repeat value="#{mrBean.stringList}" var="stringItem">
<h:inputText value="#{stringItem}" />
</ui:repeat>
<h:commandButton value="Add" action="#{mrBean.addContextItem}">
<f:ajax render="@form" execute="@form"></f:ajax>
</h:commandButton>
</h:form>
问题是,当单击“添加”按钮时,在 中输入的<h:inputText/>
代表字符串的值stringList
没有被执行。
实际上,mrBean.stringList
setter ( setStringList(List<String> stringList)
) 永远不会被调用。
知道为什么吗?
一些信息 - 我在 Tomcat 6 上使用 MyFaces JSF 2.0。