gpt4 book ai didi

java - JSF2 - 使用 p :dialog reload and closes once a function is called 弹出表

转载 作者:行者123 更新时间:2023-12-01 09:58:29 25 4
gpt4 key购买 nike

我是 JSF2 新手。我正在尝试使用 p:dialog 显示表格。该表有项目列表,并且在行末尾有删除功能。我的问题是,当它单击删除时,整个页面都会重新加载,并且我的弹出表格会关闭。然而,当它不在p:dialog 中时,删除功能可以正常工作。我的 bean,无论是 View 范围还是 session 范围,都会产生相同的输出。

这是我的 bean 中的删除代码

public String delete(Items items) {

getItemList.remove(items);
return null;
}

剪切我的 xhtml,

<p:dialog header="Item Table" widgetVar="popUpTbl" modal="true" >
<h:form>
<p:dataTable style="width:800px;height:485px;" id="popUpTbl" var="item" value="#{myBean.itemList}" >
<p:column headerText="Item A">
<h:outputText value="#{item.itemA}" />
</p:column>
<p:column headerText="Item B">
<h:outputText value="#{item.itemB}" />
</p:column>
<p:column headerText="Action">
<h:commandLink value="Delete" action="#{myBean.delete(item)}" />
</p:column>
</p:dataTable>
</h:form>
</p:dialog>

最佳答案

添加 ID <h:form><p:dialog>并通过提供完全限定名称来更新表单,在本例中只是 :dialogId:formId并从 <h:commandLink> 更新它还有一件事我注意到你的对话框 widgetVar 和数据表的 id 是相同的,这是错误的,我在下面的示例中更正了

 <p:dialog id="dialogId" header="Item Table" widgetVar="dialogIdWidget" modal="true" >
<h:form id=formId>
<p:dataTable style="width:800px;height:485px;" id="popUpTbl"
var="item" value="#{myBean.itemList}" >
.
.
.
<p:column headerText="Action">
<h:commandLink value="Delete" action="#{myBean.delete(item)}" update=":dialogId:formId" />
</p:column>
</p:dataTable>
</h:form>
</p:dialog>

关于java - JSF2 - 使用 p :dialog reload and closes once a function is called 弹出表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36995462/

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