Struts2自定义拦截器写法

public class LoginInterceptor implements Interceptor{

  @Override
  public String intercept(ActionInvocation arg0) throws Exception {
    Manager manger = (Manager) ActionContext.getContext().getSession().get("managerInfo");
      if(manger!=null){
        return arg0.invoke();
      }else{
        return "login";
      }
    }

  @Override
  public void destroy() {
  }

  @Override
  public void init() {
  }
}

 

<package name="permission" abstract="true" extends="struts-default">
  <!-- 定义一个拦截器 -->
  <interceptors>
  <interceptor name="authority"
    class="com.geminno.homedesign.filter.LoginInterceptor">
  </interceptor>
  <!-- 拦截器栈 -->
  <interceptor-stack name="mydefault">
  <interceptor-ref name="defaultStack" />
  <interceptor-ref name="authority" />
  </interceptor-stack>
  </interceptors>

<!-- 定义全局Result -->
<global-results>
<!-- 当返回login视图名时,转入/login.jsp页面 -->
<result name="login">/admin/login/login.jsp</result>
</global-results>
</package>

<package name="adminAddress" namespace="/adminAddress" extends="permission">
<action name="address_*" class="addressAction" method="{1}">
<interceptor-ref name="params" />
<interceptor-ref name="authority" />

<result name="showAddressByPage">/admin/address/address.jsp</result>
</action>

在其他的配置文件中如何引用自定义的拦截器
</package>

<package name="adminAddress" namespace="/adminAddress" extends="permission">
<action name="address_*" class="addressAction" method="{1}">
<interceptor-ref name="params" />
<interceptor-ref name="authority" />

<result name="showAddressByPage">/admin/address/address.jsp</result>
</action>

</package>

posted @ 2017-03-31 15:56  夕阳西下_1  阅读(231)  评论(0)    收藏  举报