1.新建一个拦截器(Interceptor)
2.配置struts.xml,设置拦截器作用范围(此处作用于“adminModul package中所有的action”)
package cn.devon.interceptor;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
public class LoginInterceptor extends AbstractInterceptor {
public String intercept(ActionInvocation invocation) throws Exception {
ActionContext ctx= invocation.getInvocationContext();
//如果未登陆,则跳转到登陆页面
if( null == ctx.getSession().get("L_Member")){
return "loginPage";
}else
return invocation.invoke();
}
}
2.配置struts.xml,设置拦截器作用范围(此处作用于“adminModul package中所有的action”)
<package name="adminModul" extends="struts-default" namespace="/admin">
<interceptors>
<interceptor name="loginInterceptor" class="cn.devon.interceptor.LoginInterceptor"/>
</interceptors>
<default-interceptor-ref name="loginInterceptor"/>
<global-results><!-- 配置全局返回页面 -->
<result name="loginPage" type="redirect">/login.jsp</result>
</global-results>
<action name="articles" class="articleAction" method="list">
<result name="success">adminArtilceList.jsp</result>
<result name="error">error.jsp</result>
</action>
...
</package>