gpt4 book ai didi

jsf - 关闭 primefaces 对话框并重定向主页

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

在按钮的提交处理程序中,有时我必须关闭我的 p:dialog 并立即执行主页的重定向。我试过下面的代码

RequestContext.getCurrentInstance().closeDialog(id);
FacesContext.getCurrentInstance().getExternalContext()
.redirect("../quote/select.xhtml?prospectid=" + id);

这包含在 submit() 中,通过简单的 commandButton 调用:

<p:commandButton value="#{msg.common_save}" action="#{bean.submit}" />

不幸的是,这会在对话框中进行重定向,并且不会关闭对话框本身。仅使用第一行确实会关闭我的对话框,但当然我仍然需要重定向我的页面。

有什么方法可以满足我的要求吗?

最佳答案

好的,如果我没听错,你就是通过 action 属性调用你的 bean。这不是通常的方式。检查以下示例:

<p:dialog widgetVar="dlg" modal="true" resizable="false" header="Dialog">
<!-- Dialog controls here -->
<!-- ... -->

<h:panelGroup>
<p:commandButton value="Close and redirect" actionListener="#{bean.closeListener}" action="/main" />
<p:commandButton value="Just close" onclick="PF('dlg').hide()"/>
</h:panelGroup>
</p:dialog>

'actionListener' 属性用于执行此事件背后的任何代码。'action' 属性在这里用于设置对话框结果 - 这可以是 .xhtml 页面名称(您可以省略扩展名)或者它可以是引用返回字符串的 bean 方法的 EL 表达式。在上面的示例中,重定向将转到位于 WebContent 根目录中的 main.xhtml 页面。

一般情况下,先执行'actionListener',然后对结果进行评估,并将jsf View 更改为评估页面。

关于jsf - 关闭 primefaces 对话框并重定向主页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23884253/

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