gpt4 book ai didi

jsf - 我怎么知道在ui :repeat?中点击了哪个元素

转载 作者:行者123 更新时间:2023-12-04 22:59:37 27 4
gpt4 key购买 nike

在 JSF 中,我们可以将 HtmlDataTable 绑定(bind)到 backing bean 并获取行数据。但是 ui:repeat 甚至没有绑定(bind)属性。那么,我如何知道在 ui:repeat 中点击了哪一行(元素)?

最佳答案

要么使用f:setPropertyActionListener

<h:form>
<ui:repeat value="#{bean.items}" var="item">
<h:outputText value="#{item.value}">
<h:commandButton value="submit" action="#{bean.submit}">
<f:setPropertyActionListener target="#{bean.item}" value="#{item}"/>
</h:commandButton>
</ui:repeat>
</h:form>

private List<Item> items;
private Item item;

public void submit() {
System.out.println(item);
}

或者只是将操作方法​​放在迭代项中

<h:form>
<ui:repeat value="#{bean.items}" var="item">
<h:outputText value="#{item.value}">
<h:commandButton value="submit" action="#{item.submit}" />
</ui:repeat>
</h:form>

无论哪种情况,您都需要确保在后续请求中保留相同的items

顺便说一下,这两种方式也都适用于 h:dataTable

关于jsf - 我怎么知道在ui :repeat?中点击了哪个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2794619/

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