<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.ui.theme" value="simple"/>
<!-- 创建一个default包,继承自Struts2的struts-default包 -->
<package name="default" namespace="/" extends="struts-default">
<!-- 接收处理用户的/helloWorld.action请求 ,
并根据返回结果,完成跳转 -->
<interceptors>
<interceptor name="loginInter" class="interceptor.AutorInterceptor"></interceptor>
</interceptors>
<default-action-ref name="pageerror"/>
<action name="pageerror">
<result>builgage.jsp</result>
</action>
<action name="getInfo" class="action.HouseAction" method="getAllHouseInfo">
<!-- 结果为"success"时,跳转至helloWorld.jsp页面 -->
<result name="input">login.jsp</result>
<result name="success">welcom.jsp</result>
<interceptor-ref name="loginInter"/>
<interceptor-ref name="defaultStack"/>
</action>
<action name="*User" class="action.UserAction" method="{1}">
<!-- 结果为"success"时,跳转至helloWorld.jsp页面 -->
<result name="lg_success" type="redirectAction">getInfo</result>
<result name="re_success">login.jsp</result>
<result name="input">{1}.jsp</result>
</action>
</package>
</struts>
所谓的拦截器是一种递归形式执行的
2.拦截器处理
package interceptor;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
public class AutorInterceptor extends AbstractInterceptor {
@Override
public String intercept(ActionInvocation invo) throws Exception {
String str=(String)invo.getInvocationContext().getSession().get("loginUser");
if(str==null){
return "input";
}
String s=invo.invoke();
return s;
}
}