gpt4 book ai didi

jsf - 如何动态插入 primefaces 输入文本?

转载 作者:行者123 更新时间:2023-12-02 04:49:54 24 4
gpt4 key购买 nike

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

谢谢。

最佳答案

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

例如在 View 范围的 bean 中:

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

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

<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>

结果仅显示在与保持 View 作用域 bean 实例保持事件状态相同的 View 中,并且输入字段通过索引而不是通过 var 引用值作为 String 在这个例子中是不可变的。如果它是像 Guest 这样的复杂对象,那么只需像 value="#{guest.name}" 这样的“常规”方式绑定(bind)它们。

关于jsf - 如何动态插入 primefaces 输入文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19064274/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com