Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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
Jsf 如何将多个inputText映射到数组属性?_Jsf_Jsf 2 - Fatal编程技术网

Jsf 如何将多个inputText映射到数组属性?

Jsf 如何将多个inputText映射到数组属性?,jsf,jsf-2,Jsf,Jsf 2,我希望用户为JSF的inputText组件输入一个或多个名称。 所以我想到了这样一个托管bean: public class MyBean { private String[] names; public String[] getNames() { return names; } public void setNames(String[] names) { this.names = names; } } 但是,如何将

我希望用户为JSF的inputText组件输入一个或多个名称。 所以我想到了这样一个托管bean:

public class MyBean {

    private String[] names;

    public String[] getNames() {
        return names;
    }

    public void setNames(String[] names) {
        this.names = names;
    }
}

但是,如何将JSF的inputText组件映射到此数组属性?

首先,需要在bean的(post)构造函数中保留数组。例如

public MyBean() {
    names = new String[3];
}
然后,您可以通过硬编码索引访问它们

<h:inputText value="#{myBean.names[0]}" />
<h:inputText value="#{myBean.names[1]}" />
<h:inputText value="#{myBean.names[2]}" />
不要使用
var
属性

<ui:repeat value="#{myBean.names}" var="name">
    <h:inputText value="#{name}" />
</ui:repeat>


当您提交表单时,它将不起作用,因为
String
没有值的setter(getter基本上是
toString()
方法)。

我使用上面的示例就是这样使用的