Java-JSF / Primefaces-CommandButton:打开新的浏览器选项卡,而不会杀死ViewScoped bean
作者:互联网
我正在尝试在由ViewScoped bean支持的视图中使用JSF视图(在Portlet中部署在Liferay中)打开一个新的浏览器选项卡.使用常规操作重定向会杀死bean.
我已经尝试过提供here和here的方法,但不幸的是没有成功.
该按钮大致如下所示:
<p:commandButton value="#{msg.label}" onclick="target='_blank'"
action="#{sessionScopedBean.action(param)}" ajax="false" />
将target =’_ blank’移动到form属性没有帮助.我试过都返回null和void都没有成功.将ajax更改为true破坏了导航,没有打开新的选项卡,但是也没有杀死ViewScoped bean.
动作方法的内容如下所示:
public void action(String param) throws IOException {
//some business logic
FacesContext.getCurrentInstance().getExternalContext().redirect("viewName.xhtml");
}
该视图不包含< c:if test =“ ...”>之类的标记处理程序.或< ui:include src =“ ...”>.它确实包含< ui:repeat id =“ ...” value =“#{viewScopedBean.collection}”
var =“ …” varStatus =“ …”>标记,但将其删除后更改了注释.
该表格包含在< ui:composition>中.和< ui:define>标签.
我重定向到的视图与ViewScoped bean没有关系.有任何想法吗?
标签:jsf,primefaces,jsf-2,liferay,java 来源: https://codeday.me/bug/20191122/2062767.html