Ajax JSF2.0中的文本框呈现
我有一个文本框,最终用户必须在其中输入应该呈现的文本框的数量。根据输入的数量,文本框的数量必须以行格式动态呈现 此外,在新呈现的行格式文本框中,输入的值必须在进入下一页时用正确的支持bean标识 关于从何处开始或如何实现这样的目标有什么建议吗?您可以使用Ajax JSF2.0中的文本框呈现,ajax,jsf,jsf-2,facelets,Ajax,Jsf,Jsf 2,Facelets,我有一个文本框,最终用户必须在其中输入应该呈现的文本框的数量。根据输入的数量,文本框的数量必须以行格式动态呈现 此外,在新呈现的行格式文本框中,输入的值必须在进入下一页时用正确的支持bean标识 关于从何处开始或如何实现这样的目标有什么建议吗?您可以使用请求最终用户输入 <h:inputText value="#{bean.number}" /> 您可以使用让用户提交表单 <h:commandButton value="Submit" action="#{bean.sub
请求最终用户输入
<h:inputText value="#{bean.number}" />
您可以使用
让用户提交表单
<h:commandButton value="Submit" action="#{bean.submit}" />
您可以使用List
来收集项目
private List<Item> items;
public void submit() {
items = new ArrayList<Item>();
for (int i = 0; i < number; i++) {
items.add(new Item());
}
}
私有列表项;
公开作废提交(){
items=newarraylist();
for(int i=0;i
您可以使用
以行的形式显示它
<h:dataTable value="#{bean.items}" var="item">
<h:column>
<h:inputText value="#{item.value}" />
</h:column>
</h:dataTable>
提交的值将直接出现在
项目中
您的答案很好,但是假设最终用户想要动态呈现5个文本框,那么此时如何为所有动态呈现的文本框绑定值为5英寸。呃,答案已经显示了这一点。输入值绑定到迭代项。为什么我会得到这样的结果:“value=“#{item.value}”:目标不可访问,标识符“item”解析为null”错误。这是由答案中提供的代码以外的其他地方引起的(换句话说:您没有使用答案中提供的确切代码,或者您在没有真正理解您正在做什么的情况下对其进行了太多修改)。按问问题
而不是劫持其他人的问题。谢谢@BalusC。假设在不提交页面的情况下,我需要使用Ajax在输入数字后呈现新的文本框。因此,我们可以使用f:Ajax listener属性,但如何在不提交页面的情况下设置bean number属性?