`
fosa0989
  • 浏览: 110225 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用自定义拦截器加载字典表

阅读更多
使用自定义拦截器可以直接实现接口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>

初次调用时候,字典被加载。
1
0
分享到:
评论

相关推荐

    WebService之自定义拦截器(server+client)

    在IT行业中,Web服务是应用程序之间进行通信的一种标准方法,而WebService之自定义拦截器的实现,无论是对于服务器端还是客户端,都是为了增强服务的功能性和安全性。本文将深入探讨自定义拦截器的概念、作用以及...

    CXF3.0+Spring3.2 自定义拦截器

    3. **Spring集成**:在Spring3.2中,我们可以使用`&lt;cxf:bus&gt;`和`&lt;cxf:interceptor&gt;`标签将自定义拦截器注册到CXF Bus中。这样,Spring容器会管理拦截器的生命周期,并在需要时注入其他依赖。 4. **拦截器链**:CXF...

    自定义拦截器

    通过以上步骤,我们便可以创建和使用自定义拦截器了。在实际项目中,可以根据需要组合多个拦截器,以达到灵活、高效地处理请求的目的。此外,还可以利用Struts2的注解进行配置,进一步简化代码。 总之,自定义拦截...

    自定义拦截器的实现以及拦截器的详细配置

    在`struts.xml`文件中,我们可以使用`&lt;interceptors&gt;`标签定义拦截器栈,然后使用`&lt;interceptor&gt;`标签注册自定义的拦截器。 ```xml &lt;!-- ...其他拦截器... --&gt; &lt;!-- 定义拦截器栈 --&gt; &lt;!-- 可以添加更多...

    springmvc(自定义拦截器的使用)

    -- 加载自定义拦截器类 --&gt; &lt;bean class="common.interceptor.MyInterceptor"&gt;&lt;/bean&gt; ``` #### 2.2 拦截器执行顺序 如果有多个拦截器,Spring MVC会按照它们在配置文件中的顺序依次调用`preHandle`方法。而`...

    struts2 自定义拦截器.rar

    这篇博客文章可能是关于如何在Struts2中创建和使用自定义拦截器的教程。 在Struts2中,拦截器是基于责任链模式实现的,它们按照指定的顺序执行,对请求进行处理。拦截器可以用来进行权限检查、日志记录、事务管理等...

    Spring MVC--13.自定义拦截器

    Spring MVC--自定义拦截器Spring MVC--13.自定义拦截器Spring MVC--13.自定义拦截器Spring MVC--13.自定义拦截器Spring MVC--13.自定义拦截器Spring MVC--13.自定义拦截器Spring MVC--13.自定义拦截器

    struts2自定义拦截器配置心得

    - 使用`interceptor-stack`来定义拦截器栈,`mystack`是自定义的拦截器栈,其中包含系统默认的`defaultStack`和自定义的`login`拦截器。`defaultStack`包含了Struts2提供的所有默认拦截器,确保了基础功能的正常...

    利用反射和动态代理机制实现自定义拦截器Interceptor

    利用反射和动态代理机制实现自定义拦截器Interceptor 在本文中,我们将探讨如何利用反射和动态代理机制来实现自定义拦截器Interceptor。拦截器Interceptor是一种常见的设计模式,用于在方法调用前后执行某些操作,...

    JSP 开发之Struts2内建自定义拦截器.docx

    4. **在Action中应用拦截器**:最后,你需要在Action配置中指定要使用的拦截器。默认情况下,所有Action都会应用名为`defaultStack`的默认拦截器栈。如果你需要添加自定义拦截器,可以显式地引用它们。 ```xml ...

    10.为CXF服务器端添加自定义拦截器进行权限检查

    使用CXF提供的工具,如CXF的WS-Security Test Tool(WSS4JInInterceptorTest)或自定义的测试客户端,进行拦截器的测试。确保在各种情况下,拦截器都能正确地执行权限检查并返回预期的响应。 通过这种方式,我们...

    Mybatis自定义拦截器,对模糊查询传值的特殊字符(\,_,%)统一进行转义处理的代码

    代码包含: EscapeUtil.java:特殊字符(\,_,%)转义工具类 MyQueryInterceptor.java: Mybatis自定义拦截器 注意:该拦截器只支持QueryWrapper的like方法,serviceImpl层传全角模糊查询(%%) mapper或xml层的全角模糊查询(%...

    SpringBoot中自定义拦截器示例代码

    本篇将详细讲解如何在Spring Boot中创建并使用自定义拦截器,并提供相关的示例代码。 首先,我们需要了解Spring MVC中的拦截器(HandlerInterceptor)接口。该接口定义了三个方法: 1. `preHandle...

    Mybatis自定义拦截器,对模糊查询传值的特殊字符统一进行转义处理的代码

    特殊字符(\,_,%)转义工具类 MyQueryInterceptor.java: Mybatis自定义拦截器 注意:该拦截器只支持QueryWrapper的like方法,serviceImpl层传全角模糊查询(%%) mapper或xml层的全角模糊查询(%*%)和半角模糊查询(%*或*%)

    struts2的自定义拦截器例子

    在这个"struts2的自定义拦截器例子"中,我们将深入探讨如何创建和使用自定义拦截器。 首先,拦截器的本质是Java的面向切面编程(AOP)思想在Struts2中的体现。它们允许开发者在动作执行前后插入自定义的逻辑,例如...

    SpringMvc自定义拦截器(注解)代码实例

    总的来说,Spring MVC的自定义拦截器结合注解的使用,使得在应用程序中添加额外的处理逻辑变得简单且高效。通过自定义拦截器,开发者能够更好地控制请求的生命周期,实现更精细的控制和功能扩展,提高应用的可维护性...

    Struts2自定义拦截器

    2. **注册拦截器**:在struts.xml中使用`&lt;interceptors&gt;`标签声明拦截器,并使用`&lt;interceptor&gt;`子标签定义拦截器的名称和类。 3. **配置拦截器栈**:在`&lt;default-interceptor-ref&gt;`或`&lt;action&gt;`标签中引用拦截器,...

    spring集成cxf客户端和服务器端demo(含自定义拦截器)

    在本项目中,"spring集成cxf客户端和服务器端demo(含自定义拦截器)"是一个实战案例,展示了如何在Spring框架下与Apache CXF服务进行整合,实现客户端和服务端的交互,并利用拦截器来增强功能。以下是这个项目涉及的...

Global site tag (gtag.js) - Google Analytics