jsp拦截器的设置
1,继承:extends AbstractInterceptor
public String intercept(ActionInvocation invo) throws Exception {
2,获取: //获取当前的方法名
String name=invo.getProxy().getMethod();
//存储在拦截器中的session
ServletActionContext.getRequest().getSession().setAttribute("login",login);
//获取存在session中的名字
String sessionname=(String) ServletActionContext.getRequest().getSession().getAttribute("login");
//是否放行
String result=invo.invoke();
3,配置
配置拦截器的类路径
<interceptors>
<interceptor name="lanjieqi" class="com.yhjf.Lanjieqi.StuLanjieqi">
</interceptor>
</interceptors>
定义拦截器使用的类
<interceptor-ref name="lanjieqi"></interceptor-ref>
将拦截器设置成默认的
<default-interceptor-ref name="lanjieqi">
将自己设置的拦截器加到系统拦截器中,该用法是用于防止将返回值true被拦截器拦截成false
<interceptors>
<interceptor name="loginlanjieqi" class="com.scme.Lanjieqi.LoginLanjieqi"></interceptor>
<interceptor-stack name="jihe">
<interceptor-ref name="loginlanjieqi"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</interceptor-stack>
</interceptors>
在用拦截器的时候 可能会把数据拦截掉,这时候我们就需要用其他方法了
列子:
<span style="white-space:pre"> </span><package name="interceptor" extends="struts-default">
<span style="white-space:pre"> </span><interceptors>
<!-- class 就是 自定义的拦截器 -->
<span style="white-space:pre"> </span><interceptor name="auto"
<span style="white-space:pre"> </span>class="com.scme.InterCeptor.AuthorityInterceptor"></interceptor>
<span style="white-space:pre"> </span><!-- 防止页面传入的值被拦截器 拦调了 就把系统拦截器 和 自己定义的拦截器 组合 这样就行了-->
<span style="white-space:pre"> </span><interceptor-stack name="jihe">
<span style="white-space:pre"> </span><interceptor-ref name="auto"></interceptor-ref>
<span style="white-space:pre"> </span><interceptor-ref name="defaultStack"></interceptor-ref>
<span style="white-space:pre"> </span></interceptor-stack>
<span style="white-space:pre"> </span></interceptors>
<!--制定默认拦截 -->
<span style="white-space:pre"> </span><default-interceptor-ref name="jihe"></default-interceptor-ref>
<span style="white-space:pre"> </span><action name="cs" class="com.Action.Ceshi">
<span style="white-space:pre"> </span></action>
<span style="white-space:pre"> </span></package>