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>