使用自定义拦截器可以直接实现接口com.opensymphony.xwork2.interceptor.Interceptor,也可以继承com.opensymphony.xwork2.interceptor.AbstractInterceptor。
1 定义Interceptor
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
import com.config.Constants;
import com.dal.dao.DictDataDao;
import com.vo.DicData;
import com.vo.DicType;
import java.util.*;
/**
* @author CHH
*/
public class LoadDictInterceptor extends AbstractInterceptor{
private DictDataDao dictDataDao;
/* (non-Javadoc)
* @see com.opensymphony.xwork2.interceptor.AbstractInterceptor#intercept(com.opensymphony.xwork2.ActionInvocation)
*/
@Override
public String intercept(ActionInvocation ai) throws Exception {
Map session = ai.getInvocationContext().getSession();
if(session.get(Constants.AREA_LIST)==null){
List<DicData> areas=dictDataDao.findByType(DicType.TYPE_AREA);
session.put(Constants.AREA_LIST, areas);
}
if(session.get(Constants.ORGTYPE_LIST)==null){
List<DicData> areas=dictDataDao.findByType(DicType.TYPE_ORGANIZATION_TYPE);
session.put(Constants.ORGTYPE_LIST, areas);
}
return ai.invoke();
}
/**
* @return the dictDataDao
*/
public DictDataDao getDictDataDao() {
return dictDataDao;
}
/**
* @param dictDataDao the dictDataDao to set
*/
public void setDictDataDao(DictDataDao dictDataDao) {
this.dictDataDao = dictDataDao;
}
}
2 配置Interceptor
Struts.xml
<package name="pmanage" extends="struts-default">
<!-- 定义Interceptor -->
<interceptors>
<!-- 定义加载字典拦截器,interceptor在spring中配置 -->
<interceptor name="dictData" class="initDictInterceptor" />
<!-- 定义一个包含加载字典的拦截器栈 -->
<interceptor-stack name="mydefault">
<interceptor-ref name="defaultStack" />
<interceptor-ref name="dictData" />
</interceptor-stack>
</interceptors>
<!-- 定义默认拦截器 -->
<default-interceptor-ref name="mydefault" />
...................
</package>
初次调用时候,字典被加载。
分享到:
相关推荐
自定义拦截器的实现以及拦截器的详细配置,配置文件里面有特别详细的注释,希望对刚接触拦截器的同学有帮助
WebService之自定义拦截器(server+client)
Spring MVC--自定义拦截器Spring MVC--13.自定义拦截器Spring MVC--13.自定义拦截器Spring MVC--13.自定义拦截器Spring MVC--13.自定义拦截器Spring MVC--13.自定义拦截器Spring MVC--13.自定义拦截器
自定义拦截器的基本应用及设值
SpringBoot中自定义拦截器示例代码SpringBoot中自定义拦截器示例代码
代码包含: EscapeUtil.java:特殊字符(\,_,%)转义工具类 MyQueryInterceptor.java: Mybatis自定义拦截器 注意:该拦截器只支持QueryWrapper的like方法,serviceImpl层传全角模糊查询(%%) mapper或xml层的全角模糊查询(%...
利用反射和动态代理机制实现自定义拦截器Interceptor http://blog.csdn.net/alanchen520/article/details/34087833
特殊字符(\,_,%)转义工具类 MyQueryInterceptor.java: Mybatis自定义拦截器 注意:该拦截器只支持QueryWrapper的like方法,serviceImpl层传全角模糊查询(%%) mapper或xml层的全角模糊查询(%*%)和半角模糊查询(%*或*%)
CXF3.0 Spring3.2 自定义拦截器
strut2 配置自定义拦截器 包括struts2.xml 和 action对应的xml 以及拦截器 可能有点简单 但是基本配置都有
JSP 开发之Struts2内建自定义拦截器.docx
SpringBoot 自定义拦截器 的 源代码 SpringBoot 自定义拦截器 一、自定义拦截器 二、编写控制器 三、添加拦截器对象,注入到容器的配置类中 另一种写法 四、最后application运行 我们对拦截器并不陌生,无论是 ...
文档内有springmvc拦截器的配置
注册自定义拦截器,添加拦截路径和排除拦截路径WebAppConfig
内容:拦截器的使用很简单,定义一个自己的拦截器,向配置中添加一下就可以使用。为了方便,之后又引入了注解。本文就将用简洁的代码构建一个springboot的拦截器。 假设需求:访问项目的controller是都要进行...
NULL 博文链接:https://wang4717.iteye.com/blog/799031
SpringMVC DispatcherServlet重写、自定义拦截器拦截器源码
NULL 博文链接:https://wang4717.iteye.com/blog/802525
NULL 博文链接:https://llxhna.iteye.com/blog/1067851
jsp自定义标签 structs2 JUNIT structs2自定义拦截器