gpt4 book ai didi

java - JSF - 有条件地显示两个对话框之一

转载 作者:行者123 更新时间:2023-12-01 15:07:31 24 4
gpt4 key购买 nike

我的页面中有两个 Primeface p:dialogs,并且有两个按钮来显示它们(一个是删除按钮,另一个是编辑按钮)。

我将对话框的可见属性设置如下:删除按钮的 visible="#{fn:length(bean.selectedItems) gt 0}visible="#{ fn:length(bean.selectedItems) eq 1},这样我就可以删除多个元素,但同时只能编辑一个元素。

现在 bean 是 ViewScoped,因此如果恰好选择了一项,并且有一个没有按下 ajax 提交的 commandButton,则两个对话框都会显示,这显然不是我想要的。

仅在需要时显示适当对话框的最简单方法是什么?

我不想为此设置额外的 bean 属性,所以让我们考虑这是一个简单的解决方案。还有别的办法吗?也许将操作的名称设置为 View 范围参数?或者使用渲染的属性并通过 javascript 回调管理显示/隐藏?

最佳答案

我认为正确的方法是

<p:commandButton value="DELETE" 
onclick="deleteDialog.show()"
disabled="#{fn:length(bean.selectedItems) eq 0}" />

<p:commandButton value="EDIT"
onclick="editDialog.show()"
disabled="#{fn:length(bean.selectedItems) ne 1}" />

关于java - JSF - 有条件地显示两个对话框之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12782054/

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