程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> struts2基礎——自定義攔截器,struts2基礎攔截

struts2基礎——自定義攔截器,struts2基礎攔截

編輯:JAVA綜合教程

struts2基礎——自定義攔截器,struts2基礎攔截


一、自定義攔截器

默認的攔截器能實現的功能是有限的,Struts2 支持自定義攔截器。

二、攔截器類

1.實現 Interceptor 接口

2.繼承 AbstractInterceptor 抽象類,需要實現 public String intercept(ActionInvocation actionInvocation) 方法,其中通過 actionInvocation.invoke() 繼續調用後續攔截器 和 Action 方法。

Struts2 會自動跳轉到自定義攔截器的 interceptor 方法返回值對應的 result,如果直接返回一個 String,那麼會將控制器交給目標 action 對應的 result。

3.注冊自定義攔截器與使用

(1)Action 級

<package name="default" namespace="/" extends="struts-default">
  <interceptor name="myInterceptor" class="com.nucsoft.struts.interceptor.MyInterceptor"/>
  <action name="interceptor" class="com.nucsoft.struts.token.InterceptorAction">
    <interceptor-ref name="myInterceptor"/>
    <interceptor-ref name="defaultStack"/>
      <result>/success.jsp</result>
      <result name="input">/error.jsp</result>
  </action>
</package>

(2)package 級

<package name="default" namespace="/" extends="struts-default">
  <interceptors>
    <interceptor name="myInterceptor" class="com.nucsoft.struts.interceptor.MyInterceptor"/>
    <interceptor-stack name="myInterceptorStack">
      <interceptor-ref name="myInterceptor"/>
      <interceptor-ref name="defaultStack"/>
    </interceptor-stack>
  </interceptors>
  <default-interceptor-ref name="myInterceptorStack"/>
  <action name="myInterceptor" class="com.nucsoft.struts.token.InterceptorAction" method="myInterceptor">
    <result>/success.jsp</result>
    <result name="input">/error.jsp</result>
  </action>
</package>

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved