gpt4 book ai didi

jsf - 将多个组件绑定(bind)到支持 bean 中的一个实例(Primefaces 树)

转载 作者:行者123 更新时间:2023-12-04 20:01:38 25 4
gpt4 key购买 nike

我希望能够在我的页面上的 2 个位置有一个 Primefaces 树。原因是我想让具有相同数据的两棵树具有完全相同的状态 - 扩展相同的节点等。我试图将两个实例绑定(bind)到支持 bean 中的相同值,但这导致它们中只有一个呈现。我做错了吗?这应该以不同的方式解决吗?

相关问题(要求略有不同)指出不应该这样做,但如果不这样做,应该怎么做?

JSF component disappears after binding

编辑 1

我注意到我可以使用“value=”轻松共享选择值,但真正的问题是共享哪些节点展开,哪些节点折叠。我不知道这是存储在服务器上,还是完全可以存储在服务器上。

最佳答案

I tried to bind both instances to the same value in backing bean but this results in only one of them rendering. Am I doing it wrong?

这绝对是错误的。每个组件 binding应该解析为一个唯一请求范围内的属性,该属性不被任何其他组件共享,也不长于请求范围。


Should this be solved differently?

将它们绑定(bind)到不同的属性。如果你想要一个动态可扩展的属性,使用 Map<String, UIComponent> .

private Map<String, UIComponent> components = new HashMap<String, UIComponent>();

// Getter (no setter necessary).

可以用作

<x:someComponent binding="#{bean.components.foo}" />
<x:someComponent binding="#{bean.components.bar}" />
<x:someComponent binding="#{bean.components.baz}" />

关于jsf - 将多个组件绑定(bind)到支持 bean 中的一个实例(Primefaces 树),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13409444/

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