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
Jsf 如何在输入文本中插入素数?_Jsf_Primefaces - Fatal编程技术网

Jsf 如何在输入文本中插入素数?

Jsf 如何在输入文本中插入素数?,jsf,primefaces,Jsf,Primefaces,我有一个名为numberOfGuests的字段,它接受一个整数值。当我提交页面时,我希望在下一页中动态插入与numberOfGuests值一样多的p:inputText字段ui:repeat只允许我在集合上迭代。我想知道我该怎么做 谢谢。只需创建一个大小为numberOfGuests的集合(或更简单的数组) 例如,在视图范围的bean中: private Integer numberOfGuests; // +getter+setter private String[] guests; // +

我有一个名为
numberOfGuests
的字段,它接受一个整数值。当我提交页面时,我希望在下一页中动态插入与
numberOfGuests
值一样多的
p:inputText
字段
ui:repeat
只允许我在集合上迭代。我想知道我该怎么做

谢谢。

只需创建一个大小为
numberOfGuests
的集合(或更简单的数组)

例如,在视图范围的bean中:

private Integer numberOfGuests; // +getter+setter
private String[] guests; // +getter

public void submit() {
    guests = new String[numberOfGuests];
}



结果显示在保持视图范围bean实例活动的视图中,输入字段通过索引而不是通过
var
引用值,因为
String
在本例中是不可变的。如果它是一个复杂的对象,比如
Guest
,那么只需用“通常”的方式绑定它们,比如
value=“#{Guest.name}”
左右。

guests=new String[numberOfGuests]行中numberOfGuests总是为我返回1。所以我的数组大小总是1。知道为什么吗?我正在另一个类中创建数组
guests
,并通过一个对象访问另一个类的
numberOfGuests
。我怀疑这是因为我正在创建一个类
Bill
的新对象,该对象具有
numberOfGuests
,在我的另一个类
TailorTip
中,使用
bill.getNumberOfGuests()
访问它。它采用默认值
numberOfGuests
,即1。我不确定我是否做错了什么,但示例代码在我添加到p:inputText内部之前对我不起作用。我正在使用PF 6.0,所以可能有什么变化?无论如何,我只是想让人们知道,万一这个例子不适合你。
<h:form>
    <p:inputText value="#{bean.numberOfGuests}" />
    <p:commandButton value="submit" action="#{bean.submit}" update=":guests" />
</h:form>

<h:panelGroup id="guests">
    <h:form rendered="#{not empty bean.guests}">
        <ui:repeat value="#{bean.guests}" varStatus="loop">
            <p:inputText value="#{bean.guests[loop.index]}" />
        </ui:repeat>
        <p:commandButton value="save" action="#{bean.save}" />
    </h:form>
</h:panelGroup>