gpt4 book ai didi

jsf - p :commandLink won't redirect to new page?

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

我使用的是 JSF2 和 GlassFish,PrimeFaces 2.1。

这有效,showCreateProfile()方法被命中,该方法返回“profileForm”,浏览器重定向到该页面:

<h:commandLink action="#{profileHandler.showCreateProfile}" value="#{msg.menu_createNewProfile}" />

但是,这不起作用, showCreateProfile()方法获得命中,并且该方法返回“profileForm”但浏览器不会重定向到该页面。我尝试了三种不同的方法,但没有运气:
<p:commandLink action="#{profileHandler.showCreateProfile}" value="#{msg.menu_createNewProfile}" />

<p:commandLink action="#{profileHandler.showCreateProfile}" value="#{msg.menu_createNewProfile}" ajax="false" />

<p:commandLink action="#{profileHandler.showCreateProfile}" value="#{msg.menu_createNewProfile}" ajax="false" immediate="true"/>

任何想法我做错了什么?

最佳答案

Primefaces的p:commandLink默认情况下触发 ajax 请求。它不会返回整个 HTTP 响应,而只会返回部分 HTTP 响应,该响应必须由 JS 在 HTML DOM 树中更新。

您基本上有两种选择:

  • 通过 ajax="false" 禁用 ajax属性。然后它会触发一个普通的 HTTP 请求。
  • 通过 update="clientid" 更新(重新渲染)部分内容(在同一页面上!)属性。您可以使用 rendered属性来控制内容的呈现。

  • 如果两者都不起作用,那么问题出在其他地方。自 h:commandLink p:commandLink的作品和 Action 方法也被执行,那么它只能意味着您没有运行您认为在尝试 ajax="false" 时正在运行的代码。 .验证、保存、重建、重新部署、重新启动。

    关于jsf - p :commandLink won't redirect to new page?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4900531/

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