Jboss 基于EL的带条件的焊缝重定向

Jboss 基于EL的带条件的焊缝重定向,jboss,seam,Jboss,Seam,我有一个seam web应用程序。 在用户导航期间,我想在用户成功登录后再次访问登录页面。 当用户成功登录时,它将被重定向到home.xhtml页面。 如果(登录后)用户再次键入登录页面的url,我想将其自动重定向到主页 我尝试使用Seam pages.xml: <page view-id="/common/jsp/login.xhtml"> <navigation> <rule if="#{myUserBean.isUserAlreadyA

我有一个seam web应用程序。 在用户导航期间,我想在用户成功登录后再次访问登录页面。 当用户成功登录时,它将被重定向到home.xhtml页面。 如果(登录后)用户再次键入登录页面的url,我想将其自动重定向到主页

我尝试使用Seam pages.xml:

<page view-id="/common/jsp/login.xhtml">
    <navigation>
        <rule if="#{myUserBean.isUserAlreadyAuthenticated()} ">
            <redirect view-id="/home.xhtml"/>
        </rule>
    </navigation>

但它不起作用。可能是因为Seam手册规定:

规则通过评估动作方法的返回值来工作;它是 无法计算任意EL表达式

但在我的例子中,它并不是来自任何特定的操作,用户是从一个已经登录的会话中请求登录页面的,在这个会话中,他可能已经做了很多操作,也可能没有人


你有什么建议吗?

我应该这样解决:

<page view-id="/common/jsp/login.xhtml" action ="#{myUserBean.isUserAlreadyAuthenticated()}">
<navigation>
    <rule if-outcome="true">
        <redirect view-id="/home.xhtml"/>
    </rule>
</navigation>