0

我正在使用<p:commandButton>导航和设置ajax="false",但是地址栏不会更新以匹配action-attribute 中定义的目标页面。它仍然显示带有<p:commandButton>.
我可以发誓它并不总是这样。这种行为正常吗?
我该如何解决这个仍然<p:commandButton>用于导航的问题?

我的代码:

<p:commandButton value="speichern" action="secondPage" ajax="false"/>
4

1 回答 1

1

是的,如果您触发 POST 请求,这是正常行为。<form action>默认情况下生成的为<h:form>当前 URL(右键单击,在浏览器中查看源代码以自己查看)。正是这个 URL 反映在浏览器地址栏中。如果要在 POST 之后更改它,则需要在之后发送重定向。重定向基本上指示客户端在给定的 URL 上发送新的 GET 请求。这将反映在浏览器地址栏中。这可以通过将faces-redirect=true查询字符串参数添加到结果值来完成。

<p:commandButton value="speichern" action="secondPage?faces-redirect=true" ajax="false"/>

但是,使用 POST 进行导航对UXSEO不利。只需首先使用 GET 即可。

<p:button value="speichern" outcome="secondPage"/>

也可以看看:

于 2013-01-30T15:33:14.693 回答