struts2攔截器(攔截指定方法)






攔截器方法過濾:讓攔截器有選擇的攔截Action中的某個方法!

 

Action中使用攔截器,默認情況下會攔截Action中所有的方法,但是在某些情況下,可能只需要攔截Action中的一個或多個方法,有時候也希望不攔截某個方法,這個在Struts2中是怎麼實現的呢?

Struts2中提供了一個MethodFilterInterceptor的類,開發者自定義的攔截器只需要繼承該類就可以使用這個方法過濾的功能,來攔截Action中特定的方法!

MethodFilterInterceptor類是AbstractInterceptor攔截器的子類,實現了InterceptorSerializable接口

MethodFilerInterceptor實現方法過濾中用到的兩個參數

execludeMethods該參數指定攔截器拒絕攔截的方法列表,多個方法用隔開,指定了這個參數,攔截器不會攔截指定列表中的方法

includeMethods:該參數指定攔截器需要攔截的方法列表,如果指定了參數,則指定的Action在執行前會被攔截

 

主要方法:

①protected abstract String doIntercept(ActionInvocation invocation) throws Exception;  必須重寫此方法,實現攔截。

②String interceptor(ActionInvocation invocation):繼承自AbstractInterceptor類,方法不需要強制重寫

③void setExcludeMethods(String excludeMethods):設置攔截器黑名單,參數爲Action一方法名。攔截器不攔截該方法

④void setIncludeMethods(String includeMethods):設置攔截器白名單,參數爲Action一方法名。攔截器會攔截該方法

⑤Set getExcludeMethodsSet():獲得攔截器的黑名單

⑥Set getIncludeMethodsSet():獲得攔截器的白名單

 

示例配置文件

struts2攔截器(攔截指定方法)

示例攔截器代碼

struts2攔截器(攔截指定方法)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章