场景1:如果friendlyURL是'/requestform/servicerequest‘和requestProcessorBean.userRequestVO == null,那么会话无效并重定向到'/web/pds/login’页面。
场景2:如果If friendlyURL是'/requestform/servicerequest‘和requestProcessorBean.userRequestVO != null,那么重定向到'serviceRequest.xhtml’页面。
我想知道如何使用JSF阶段侦听器实现场景1。我按照以下方式实现了场景1:requestForm.xhtml:
<?xml version="1.0" encoding="UTF-8"?>
<f:view xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>
</h:head>
<h:body>
<h:outputFormat rendered="#{lookupBean.friendlyURL == '/requestform/servicerequest' and (requestProcessorBean.userRequestVO != null)}">
<ui:include src="serviceRequest.xhtml" />
</h:outputFormat>
</h:body>
</f:view>我正在使用Liferay6.0和JSF2.0。
谢谢
发布于 2013-03-31 04:34:35
对于条件重定向,我真的不会推荐一个阶段侦听器。使用代替。但是,如果由于某种原因,您不得不使用phaselistener,那么您的实现如下所示:
正如我在这篇文章开头提到的那样,这种方法不必要地笨重,太费劲去实现如此之少的成果,而海事组织则滥用了分相器。
https://stackoverflow.com/questions/15704581
复制相似问题