Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax JSF2.0中的文本框呈现_Ajax_Jsf_Jsf 2_Facelets - Fatal编程技术网

Ajax JSF2.0中的文本框呈现

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

我有一个文本框,最终用户必须在其中输入应该呈现的文本框的数量。根据输入的数量,文本框的数量必须以行格式动态呈现

此外,在新呈现的行格式文本框中,输入的值必须在进入下一页时用正确的支持bean标识

关于从何处开始或如何实现这样的目标有什么建议吗?

您可以使用
请求最终用户输入

<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属性?