如何在JSF 2.0中实现一个导航按钮,该按钮不对当前页面上的任何内容进行任何验证?

Bes*_*ces 3 primefaces jsf-2

我想实现一个导航按钮,将用户带到另一个页面.我不希望或需要运行任何验证,也不需要更新模型,等等.我已将其实现为ajaxified客户端重定向(注意,我使用的是Primefaces 3.2).

它有效 - 但这是最好的方法吗?

从"onePage.xhtml"导航到"anotherPage.xhtml"

onePage.xhtml:
...
<p:commandButton value="Navigate to Another Page" 
                 process="@this"/>
                 action="anotherPage?faces-redirect=true" 

...
Run Code Online (Sandbox Code Playgroud)

注意,我已经尝试使用immediate ="true",但是仍然运行Apply Request Values阶段,这导致我在托管bean中的getter中的NPE(因为我不再拥有我的getter需要的数据).

Bal*_*usC 6

只需使用<h:button><p:button>.它发送正常的GET请求.如果它只是页面到页面导航,则实际上不需要POST-Redirect-GET请求.

<h:button value="Navigate to Another Page" outcome="anotherPage" />
Run Code Online (Sandbox Code Playgroud)

对于PrimeFaces看起来'感觉',只需替换h:p:.请注意,此组件不需要<h:form>.链接等价物是<h:link>(没有相当于PrimeFaces的东西,无论如何都不需要重新设计).

也可以看看: