<s:property value ="role" />可以将BEAN中的属性值提取出来!
先看配置,这些配置都是在struts.xml里面的
1.第一步是在JAVA包中写一个拦截器。实现一个接口方法表示这个拦截器已经写好了!
2.为了让其知道有了一个拦截器就要配置好xml文件!
<package name="struts2" extends="struts-default">
<interceptors>
<interceptor name="myinterceptor" class="com.interceptor.MyInterceptor">
<param name="hello">world</param>
</interceptor>
</interceptors>
这个配置好了后就表示struts知道了有一个拦截器了就可以在Action中就用了!
OK,有了拦截器了怎么在Action中应用这个拦截器呢?
好了到了这里 拦截器也配置好了,但是拦截器是拦截action的,怎么才能让action被拦截呢?
一般的情况下,放在result后面 怎么写呢?好了,如下:
<interceptor-ref name="myinterceptor">
</interceptor-ref>
加上这个东西就可以了!
<interceptor-ref name="defaultStack"></interceptor-ref>
这样还可以说明:如果我们没有添加拦截器的话,默认的拦截器会自动添加到里面。
如果没有加这个说明的话就用引用 struts-default中的拦截器的内容了!
拦截器栈过滤器可以组成过滤器链,就是可以有多个过滤器来去过滤一个组件,拦截器也是,只不过是叫拦截器栈(相当于串拦截器)。
拦截器栈先把拦截器逐个执行,接着执行action方法,之后又按照相反的顺序回到最后的一个拦截器,再回到视图。
[什么叫做过滤,就是先将这些拦截器的东西执行完了之后再去做自己的Action操作!]拦截器栈是怎么构成的呢?继续看struts-default.Xml这个文件!里面有这些东西:
<interceptor-stack name="defaultStack">
<interceptor-ref name="static-params"/>
<interceptor-ref name="params"/>
<interceptor-ref name="conversionError"/>
</interceptor-stack>
有一系列的拦截器,过了这些之后再执行action方法的!
评注:栈是什么样的结构,是由很多个预先定义好的拦截器构成,而且也可以再加上拦截器栈组成,就如此就组成了!
这就是所谓的栈的构成喽!
让我们自己配置自己的拦截器栈:如何配置自己的拦截器栈!
private String hello;get和set方法
写个变量,然后加上get和set方法,当然变量的名字必须和设定的参数是相同的,这个是赋值成功的前提条件这个写在拦截器类中是可以通过配置XML
责任编辑:小草