Java 如何重定向到切换到login required=true之前调用的页面
我有一个按钮,可以切换到广告的详细信息。但要查看广告的详细信息,用户需要登录。因此,在pages.xml中,我定义了重定向到登录页面:Java 如何重定向到切换到login required=true之前调用的页面,java,jsf,redirect,seam,Java,Jsf,Redirect,Seam,我有一个按钮,可以切换到广告的详细信息。但要查看广告的详细信息,用户需要登录。因此,在pages.xml中,我定义了重定向到登录页面: <rule if="#{!identity.loggedIn}"> <redirect view-id="/login.xhtml" /> </rule> 我不知道登录后如何将用户重定向到广告详细信息 当用户未登录时,他将从“../app/advert/3”切换到“../app/user”。我不知道如何将用户重定向到
<rule if="#{!identity.loggedIn}">
<redirect view-id="/login.xhtml" />
</rule>
我不知道登录后如何将用户重定向到广告详细信息
当用户未登录时,他将从“../app/advert/3”切换到“../app/user”。我不知道如何将用户重定向到广告的细节。我正在丢失有关广告id的信息。
我试图在pages.xml中定义param:
<page login-required="false" view-id="/advert/*">
<rewrite pattern="/advert/{advertId}" />
<param name="advertId" value="#{contextUser.setadvertId(advertId)}" />...
...
但是没有设置广告ID。有什么想法吗?这是最简单的方法 从
页面.xml
文件中删除
。您需要做的只是将广告页面标记为login required=“true”
:
<page login-required="true" view-id="/advert/*">
<rewrite pattern="/advert/{advertId}" />
<param name="advertId" value="#{contextUser.setadvertId(advertId)}" />...
谢谢你的回复。我已将事件侦听器添加到components.xml。但我也在pages.xml中定义了从登录到用户视图的重定向:我想知道这是否会导致问题?但若用户选择登录选项,我需要重定向到用户帐户。
<page login-required="false" view-id="/advert/*">
<action execute="#{...}" /> <!-- execute any action to trigger rule evaluation -->
<navigation>
<rule if="#{not identity.loggedIn}">
<!-- raise the event to trigger the capture of the current view -->
<raise-event type="org.jboss.seam.security.notLoggedIn" />
<redirect view-id="/login.xhtml" />
</rule>
</navigation>
<rewrite pattern="/advert/{advertId}" />
<param name="advertId" value="#{contextUser.setadvertId(advertId)}" />...