Ton*_*ony 2 jsf primefaces jsf-2
Primefaces 3.5.14,Omnifaces 1.6
JSF/Prime中是否有一个看起来像按钮的组件,但是它允许用外部链接打开一个新的空白页面?因此,与普通链接不同,在点击时,必须首先从服务器保留新页面URL,然后必须打开新页面.就像带有action属性的commanButton一样,action方法的字符串结果确定新的url.
当然,我可以p:button像使用一个JSF外部链接一样使它看起来像一个按钮,但在这种情况下,我必须更新生成的链接p:button,这取决于每次在页面上进行的操作.这并不总是令人满意的.
您需要target="_blank"在父窗体上提交到新窗口,并且您需要在操作方法中调用ExternalContext#redirect()(或OmniFaces' Faces#redirect()),以便让目标窗口在给定的URL上发送新的GET请求.重要的是,当您使用<p:commandButton>而不是时<h:commandButton>,您还需要设置,ajax="false"因为它不尊重target="_blank".
因此,所以:
<h:form target="_blank">
<p:commandButton value="Submit" action="#{bean.submit}" ajax="false" />
</h:form>
Run Code Online (Sandbox Code Playgroud)
同
public void submit() throws IOException {
String redirectURL = determineItSomehow();
Faces.redirect(redirectURL);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5482 次 |
| 最近记录: |