【发布时间】:2013-05-14 14:21:51
【问题描述】:
我要处理这个表单(valueChangeListener 在实际情况下是无效的)。
这是后面的豆子:
public class TestBean extends PrivateBaseBean implements Serializable {
private List<String> strings;
@PostConstruct
public void init() {
strings = new ArrayList<String>();
strings.add("");
strings.add("");
strings.add("");
}
public void saveAction(ActionEvent event) {
StringBuilder textToShowInMessage = new StringBuilder();
for (String string : strings) {
textToShowInMessage.append(string);
textToShowInMessage.append("; ");
}
FacesMessage msg = new FacesMessage(super.getBundle().getString(
textToShowInMessage.toString()), "");
FacesContext.getCurrentInstance().addMessage(null, msg);
}
getters... setters...
一个观点:
....
<h:form>
<ui:repeat var="string" value="#{testBean.strings}">
<h:inputText value="#{string}" />
<br />
</ui:repeat>
<p:commandButton value="#{msg.save}"
actionListener="#{testBean.saveAction}" icon="ui-icon-disk"
update="@form" />
</h:form>
...
在后台处理表单时,bean字符串列表始终为空。
如何处理表单输入的内部迭代,没有任何值变化监听器?
有一些截图:
action 或 actionListener on 也会出现同样的问题
【问题讨论】:
-
你试试:
<p:commandButton process="@form"! -
@RongNK:这已经是默认设置了。将来,请考虑先尝试一下自己。
-
是的,我总是尝试任何东西,可能是错误,谢谢 BalusC。
-
这道题的第二级在这里link
标签: jsf primefaces