Struts2框架的默认拦截器defaultStack包含了许多重要的功能在Action定义自己的拦截器的同时,一定要注意需要同时显示引用系统默认拦截器defaultStack。
配置默认拦截器使用<default-interceptor-ref../>元素需要指定一个name属性,该属性值代那个默认拦截器的名称。需要注意的是,该属性必须是一个一经存在的拦截器名称,即已经在前面定义好了的。一旦指定了name属性,那么就意味值name属性对应的拦截器就是包内默认的拦截器。
注意:在指定默认拦截器是只能使用一个
<default-interceptor-ref../>,即一个包内只能有一个默认拦截器。
标准默认拦截器配置如下:
<?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>
<package name="包名">
<interceptors>
<interceptor name="拦截器1" class'拦截器1 实现类"/>
<interceptor name="
拦截器2" class'拦截器2 实现类"/>
……
</interceptor-stack>
……
</interceptors>
……
<default-interceptor-ref name="拦截器或者拦截器栈名称"/>
<action name="Action1" class="ActionClass">
……
</action>
……
</package>
</struts>
如果需要设置多个拦截器为一个包的默认拦截器,那么就把这些拦截器放到一个栈中
</package>
</struts>
<param .../>:该元素用于指定拦截器的参数,可以作为<interceptor.../>或者<interceptor-ref.../>元素的子元素