[jboss-user] [JBoss Seam] - who can help me?I am stamped by Interceptor of seam
diyun2008
do-not-reply at jboss.com
Mon Jan 22 09:42:46 EST 2007
When I run example "icefaces",I debug class LoggedInInterceptor.But I
found :
import javax.faces.event.PhaseId;
|
| import org.jboss.seam.annotations.Interceptor;
| import org.jboss.seam.contexts.Contexts;
| import org.jboss.seam.contexts.Lifecycle;
| import org.jboss.seam.interceptors.BijectionInterceptor;
| import org.jboss.seam.interceptors.BusinessProcessInterceptor;
| import org.jboss.seam.interceptors.ConversationInterceptor;
| import org.jboss.seam.interceptors.RemoveInterceptor;
| import org.jboss.seam.interceptors.ValidationInterceptor;
|
| @Interceptor(around={BijectionInterceptor.class, ValidationInterceptor.class,
| ConversationInterceptor.class, BusinessProcessInterceptor.class},
| within=RemoveInterceptor.class)
| public class LoggedInInterceptor
| {
|
| @AroundInvoke
| public Object checkLoggedIn(InvocationContext invocation) throws Exception
| {
| boolean isLoggedIn = Contexts.getSessionContext().get("loggedIn")!=null;
| if ( Lifecycle.getPhaseId()==PhaseId.INVOKE_APPLICATION )
| {
| if (isLoggedIn)
| {
| return invocation.proceed();
| }
| else
| {
| return "login";
| }
| }
| else
| {
| if ( isLoggedIn )
| {
| return invocation.proceed();
| }
| else
| {
|
| Method method = invocation.getMethod();
| if ( method.getReturnType().equals(void.class) )
| {
| return null;
| }
|
| else
| {
| return method.invoke( invocation.getTarget(), invocation.getParameters() );
| }
| }
| }
| }
|
| }
Why "return null" not "return 'login'" in red fragment.
I clicked link "http://localhost:8000/seam-registration/main.seam?cid=2" ,
it did not return to "login" page.
So I fixed "retrun null" above to "return 'login'",
but it still did not return to "login" page.
Through logging, I found if "Lifecycle.getPhaseId()!=PhaseId.INVOKE_APPLICATION",
it will never be redirect to new page.
How can I redirect to new page in Interceptor,
and who can tell me how does Interceptor work?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4004831#4004831
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4004831
More information about the jboss-user
mailing list