0

我有一个接缝网络应用程序。在用户导航期间,我想在成功登录后再次访问上面的用户登录页面。当用户成功登录时,它被重定向到 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 表达式。

但在我的情况下,它不是来自任何特定的操作,用户正在从已经记录的会话中请求登录页面,在那里他可能已经做了很多操作,或者也没有。

你有什么建议吗?

4

1 回答 1

1

我应该以这种方式解决:

<page view-id="/common/jsp/login.xhtml" action ="#{myUserBean.isUserAlreadyAuthenticated()}">
<navigation>
    <rule if-outcome="true">
        <redirect view-id="/home.xhtml"/>
    </rule>
</navigation>
于 2013-08-06T10:05:34.953 回答