我有一个缝网应用程序。 在用户导航期间,我希望在用户上方成功登录后再次访问登录页面。 当用户成功登录时,会将其重定向到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手册指定:
规则通过评估action方法的返回值来工作;它是 无法评估任意EL表达式。
但在我的情况下,它不会来自任何特定的操作,用户要求已经记录的会话中的登录页面,他可以让alredy做了很多动作,或者也没有人。
你有什么建议吗?
答案 0 :(得分:1)
我应该以这种方式解决:
<page view-id="/common/jsp/login.xhtml" action ="#{myUserBean.isUserAlreadyAuthenticated()}">
<navigation>
<rule if-outcome="true">
<redirect view-id="/home.xhtml"/>
</rule>
</navigation>