利用注解配置拦截器
2015-01-10 10:12
274 查看
struts2的拦截器是一个十分重要的功能,我们今天就讨论一下利用注解来配置拦截器,上代码。
public class Test extends AbstractInterceptor{
private String name="hello";
@Override
public String intercept(ActionInvocation invocation) throws Exception {
// TODO Auto-generated method stub
ActionContext ctx = invocation.getInvocationContext();
Map session=ctx.getSession();
if(name!=null){
System.out.println("hahahhahah");
return invocation.invoke();
}
else{
System.out.print("wrong!");
}
return null;
}
}
这是拦截器类的代码。
以下是struts2中的代码
<package name="yang" extends="json-default">
<interceptors>
<interceptor name="test" class="util.Interceptor.Test" />
<interceptor-stack name="testStack">
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="test"></interceptor-ref>
</interceptor-stack>
</interceptors>
</package>
package的名字可以自己取,只需要保持统一即可,如果Action的代码中使用了JSON,最好把extends属性写成“json-default”(后来测试一下,发现写成struts-daefault)也是可以的,这样XML的配置就完成了。
然后是对需要引入的Action配置拦截器
配置方法一:
@Namespace("/QuesDesign")
@ParentPackage("yang") //这里指定ParentPackage必不可少
@InterceptorRefs(@InterceptorRef("testStack"))
public class QuesDesignAction {
@Action1
@Action2
.................
.................
}
这样对Namespace为QuesDesign下的所有Action都引入了拦截器,不需要给Action1,Action2单独配置。、
如果只想对QuesDesignAction类下的Action1配置拦截器的话,可以这样写:
配制方法二:
@Namespace("/QuesDesign")
@ParentPackage("yang") //这里指定ParentPackage必不可少
public class QuesDesignAction {
@Action1(value = "/action1",interceptorRefs={@InterceptorRef("testStack")})
}
public class Test extends AbstractInterceptor{
private String name="hello";
@Override
public String intercept(ActionInvocation invocation) throws Exception {
// TODO Auto-generated method stub
ActionContext ctx = invocation.getInvocationContext();
Map session=ctx.getSession();
if(name!=null){
System.out.println("hahahhahah");
return invocation.invoke();
}
else{
System.out.print("wrong!");
}
return null;
}
}
这是拦截器类的代码。
以下是struts2中的代码
<package name="yang" extends="json-default">
<interceptors>
<interceptor name="test" class="util.Interceptor.Test" />
<interceptor-stack name="testStack">
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="test"></interceptor-ref>
</interceptor-stack>
</interceptors>
</package>
package的名字可以自己取,只需要保持统一即可,如果Action的代码中使用了JSON,最好把extends属性写成“json-default”(后来测试一下,发现写成struts-daefault)也是可以的,这样XML的配置就完成了。
然后是对需要引入的Action配置拦截器
配置方法一:
@Namespace("/QuesDesign")
@ParentPackage("yang") //这里指定ParentPackage必不可少
@InterceptorRefs(@InterceptorRef("testStack"))
public class QuesDesignAction {
@Action1
@Action2
.................
.................
}
这样对Namespace为QuesDesign下的所有Action都引入了拦截器,不需要给Action1,Action2单独配置。、
如果只想对QuesDesignAction类下的Action1配置拦截器的话,可以这样写:
配制方法二:
@Namespace("/QuesDesign")
@ParentPackage("yang") //这里指定ParentPackage必不可少
public class QuesDesignAction {
@Action1(value = "/action1",interceptorRefs={@InterceptorRef("testStack")})
}
相关文章推荐
- struts2基于注解的拦截器配置
- Java程序员从笨鸟到菜鸟之(七十二)细谈Spring(四)利用注解实现spring基本配置详解
- springmvc里使用注解进行拦截器配置
- 利用springMVC拦截器配置网站根目录
- 利用struts2拦截器加自定义注解实现权限控制
- Struts2使用20 -- 注解配置2 -- 生命周期回调注解(拦截器注解)
- Java程序员从笨鸟到菜鸟之(七十二)细谈Spring(四)利用注解实现spring基本配置详解
- 关于SSH注解开发 拦截器的配置以及实现
- Spring自动注入,利用注解实现spring基本配置详解,Spring注解快速入门
- 利用Spring的@Value注解读取配置文件
- 注解配置拦截器
- struts2注解下的拦截器配置
- struts2 注解配置拦截器 实例
- struts2自定义拦截器注解配置方法
- 个人总结的Struts2拦截器使用和拦截栈的配置,基于注解的方式
- Java程序员从笨鸟到菜鸟之(七十二)细谈Spring(四)利用注解实现spring基本配置详解
- Spring框架中利用注解进行自动装配的环境配置步骤和常见问题
- struts2 注解配置拦截器 实例
- spring3.1以上利用 ehcache进行注解配置缓存不起作用的原因
- Spring-03-利用注解配置应用IOC