`
qianlei007
  • 浏览: 29499 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

struts2的拦截器和action的返回值

阅读更多
    最近编码过程中,遇到这样一个问题,没有好好研究,不知道怎么解决,记录下拉,希望自己不要忘记。

    问题的起因:用户登陆后,建立session,未登陆,就通过拦截器,检查访问action,是否执行。这个需求和struts2的拦截器教程差不多。
   
    问题描述: 由于我前台只需要json,很多action 都不需要跳转,也就是说,返回值是 null;
    范例代码如下:
   
	
         public String getTree() throws Exception{

		String id = this.servletRequest.getParameter("node").trim();
		if(!id.equals("-2")){
			id=id.substring(1, id.length());
		}
		SysUser user=(SysUser) this.session.get("user");
		String net_id=sysCommService.getUserNet(user);
		String json=areaNewService.getForTree(StringUtils.parseLong(id),net_id);
               this.responseWrite(json);
		logger.debug(json);
		return null;//最关键的部分。
	}
     

配置:
		<action name="getTree"
			class="xxxAction" method="getDeviceTree">		
		</action>


这种action ,如果,我在不建立session的情况下访问, 拦截器是执行了,但是没有办法执行跳转功能。

没有细细研究,只是试了下, 如果action 有返回值, return SUCCESS;
这样的action就可以通过拦截器跳转到,配置的全局 result 。

记录在此。。

分享到:
评论

相关推荐

    Struts2 拦截器的执行顺序(二十九)

    这篇博客“Struts2 拦截器的执行顺序(二十九)”可能探讨了Struts2拦截器链的工作原理和它们的执行顺序,这对于理解Struts2的内部机制至关重要。 首先,让我们深入理解Struts2的拦截器。拦截器是在Action调用前后...

    Struts2 拦截器详细配置过程

    Struts2 拦截器是框架中一个重要的组件,用于增强Action的处理能力,提供预处理和后处理的功能。在Struts2中,拦截器是基于Java的动态代理实现的,它们通过实现Interceptor接口来定义拦截行为。下面将详细阐述Struts...

    Struts拦截器案例——登陆

    Struts拦截器是Java Web开发中的一个重要概念,尤其在基于Struts2框架的应用中,它扮演着处理请求、验证输入、记录日志等关键角色。在这个"Struts拦截器案例——登陆"中,我们将深入探讨如何利用Struts拦截器实现...

    浅谈Struts2拦截器的原理与实现.docx

    在Struts2中,拦截器(Interceptor)是实现业务逻辑和控制流程之间解耦的核心组件。本文将深入探讨Struts2拦截器的原理与实现。 首先,让我们了解什么是拦截器。在软件设计模式中,拦截器是一种行为设计模式,用于...

    struts2 trim拦截器 过滤首尾空格

    Struts2框架提供了拦截器机制,可以在Action执行前后执行某些操作,以满足特定的需求。TrimInterceptor就是一个这样的拦截器,它的主要功能是过滤请求数据的首尾空格。 TrimInterceptor实现 TrimInterceptor继承...

    struts2实现的简单登陆 附加拦截器防止重复提交

    在这个"struts2实现的简单登陆 附加拦截器防止重复提交"的项目中,我们将深入探讨Struts2如何处理用户登录以及如何通过拦截器来防止重复提交的问题。 首先,我们来理解一下Struts2的核心概念。Struts2框架基于...

    信息系统软件设计:第3章 Struts2.0-拦截器.ppt

    - 当请求到达ServletDispatcher时,Struts2会根据配置创建并调用拦截器链,每个拦截器执行完毕后,调用下一个,直到Action被执行,然后再按相反顺序执行结果处理。 **5. 拦截器配置要点** - **执行顺序**:拦截器的...

    使用struts拦截器需要注意的一个小问题.docx

    Struts拦截器允许我们在Action调用前后插入自定义的处理代码,例如日志记录、权限验证、事务管理等。然而,在实际使用过程中,可能会遇到一些小问题,以下是一些关于Struts拦截器的注意事项,以及如何避免和解决这些...

    Struts拦截器

    Struts拦截器是Java Web开发中的一个重要概念,尤其在基于MVC框架的Struts2中,它是实现业务逻辑控制和视图分离的关键组件。拦截器是AOP(面向切面编程)思想的一种体现,用于在动作执行前后进行额外的操作,如日志...

    Struts2的总结和Strut2集成Spring

    在struts.xml文件中,通过`&lt;interceptor&gt;`和`&lt;interceptor-stack&gt;`元素配置拦截器和拦截器栈,然后在`&lt;action&gt;`元素中引用相应的拦截器栈。 #### 自定义拦截器 开发者可以根据应用需求自定义拦截器,通过实现`...

    Struts2项目代码

    通过这个"Struts2项目代码"实例,你可以学习如何配置Struts2框架,编写Action类,使用拦截器,理解MVC设计模式在实际项目中的运用,以及如何调试和优化Struts2应用。同时,它还能帮助你熟悉Struts2与其他技术(如...

    Struts2框架 jar JAVA开发 Struts2.jar架包 Struts2开发实例

    Struts2的核心设计目标是简化MVC应用的开发,通过提供一系列的插件和拦截器,使得开发者可以方便地处理请求、响应以及业务逻辑。它集成了许多其他开源框架,如FreeMarker和Velocity模板引擎、Tiles布局框架、OGNL...

    struts2框架模板

    - **Interceptor**:拦截器是Struts2的重要特性,它们按照预定义的顺序在Action执行前后进行拦截,实现如日志、权限检查等功能。 - **常用拦截器**:包括params(参数预处理)、validation(验证)、i18n(国际化...

    Struts+2实战 struts2_in_action

    拦截器是Struts2框架中的另一个重要组成部分,它可以用来处理一些通用的功能,如验证、异常处理、日志记录等。拦截器通过配置文件指定,可以针对不同的Action类进行定制化设置。 #### 结果(Result) 结果组件负责...

    Struts2接口文档

    Struts2的核心组件包括Action、Result、Interceptor(拦截器)等,这些组件通过特定的接口进行交互。Action接口定义了处理用户请求的方法,如execute(),开发者通常会自定义Action类来实现业务逻辑。Result接口则...

    struts2PreResultListener接口

    Struts2是一个强大的Java web应用程序框架,它基于MVC(Model-View-...在Struts2_Interceptor目录中的文件可能包含了更多关于Struts2拦截器的详细信息和示例,这些都可以帮助你进一步理解和掌握Struts2的拦截器机制。

    struts2所有包和配置文件

    Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它极大地简化了开发过程,提供了丰富的动作、拦截器和结果类型,使得开发者可以更专注于业务逻辑,而不是繁琐的HTTP请求处理。...

    struts2讲义

    而 **Struts2** 则更加灵活,支持多种视图技术如JSP、FreeMarker等,同时也支持更丰富的插件和拦截器机制。 ##### 1.3 基于前端控制器模式 所有Web层框架都会基于前端控制器模式,这是一种常见的设计模式,用于集中...

    struts2面试题

    Struts1 的 Action 类需要继承一个抽象基类,而 Struts2 的 Action 类可以实现一个 Action 接口,使可选和定制的服务成为可能。 2. Struts2 的工作流程: Struts2 的工作流程可以分为九个步骤: (1)客户端提交...

    Struts2拦截器登录验证实例

    - 当请求到达Action时,Struts2会按照定义好的拦截器链顺序逐个调用拦截器,每个拦截器都有机会处理请求,直到最后一个拦截器调用`ActionInvocation`的`invoke()`方法,这将执行实际的Action。 2. **创建自定义...

Global site tag (gtag.js) - Google Analytics