`

struts2封装数据过程

阅读更多
1、不实现modelDriven接口,那么params拦截器会通过ognl去取栈顶的对象,然后进行封装。

2、实现了modelDriven接口.
 public String intercept(ActionInvocation invocation) throws Exception {
        Object action = invocation.getAction();

        if (action instanceof ModelDriven) {
            ModelDriven modelDriven = (ModelDriven) action;
            ValueStack stack = invocation.getStack();
            //取出model
            Object model = modelDriven.getModel();
            if (model !=  null) {
                //压入栈顶
            	stack.push(model);
            }
            if (refreshModelBeforeResult) {
                invocation.addPreResultListener(new RefreshModelBeforeResult(modelDriven, model));
            }
        }
        return invocation.invoke();
    }

从源码可以看出实现了modelDriven接口,那么直接压入栈顶.params拦截去去栈顶获取对象,封装到model中。
分享到:
评论

相关推荐

    struts2数据封装源码

    这个"struts2数据封装源码"很可能是为了演示如何在Struts2框架下处理用户输入数据并进行封装的过程。在Struts2中,数据封装是通过Action类和模型对象(通常称为POJOs,Plain Old Java Objects)来实现的,这使得业务...

    Struts2五种数据封装Demo

    在这个“Struts2五种数据封装Demo”中,我们将深入探讨Struts2的数据封装机制,以及如何通过配置文件来操作Servlet的三大核心对象——Request、Session和Application。同时,我们还将了解如何从表单中获取数据并进行...

    struts1和struts2的区别

    - **Struts2**: 使用OGNL进行数据绑定,支持更高级的数据绑定操作。 #### 验证机制 - **Struts1**: 支持ActionForm的内置验证机制,并且可以通过Commons Validator进行扩展。 - **Struts2**: 提供了更强大的验证...

    Struts2+Jquery+Ajax

    Struts2是一个强大的Java web应用程序开发框架,它基于Model-View-Controller(MVC)设计模式,用于构建可维护性高、结构...在实际开发过程中,还需要关注安全问题,如Struts2的安全漏洞,确保应用的稳定性和安全性。

    struts2批量提交数据

    在处理批量数据提交时,Struts2提供了一种高效的方法来管理并存储大量数据到数据库。本篇文章将深入探讨如何利用Struts2实现批量提交数据的功能。 ### 一、批量提交的概念 批量提交是指一次性处理多个数据记录,而...

    struts2 学习过程中的收获

    在学习Struts2的过程中,你将会接触到许多重要的知识点,这些知识点对于初学者来说尤其有价值。Struts2是一个强大的MVC(Model-View-Controller)框架,它简化了Java Web应用程序的开发,提供了丰富的功能和良好的可...

    Web开发学习8Struts2基类封装

    在“Web开发学习8Struts2基类封装”这一主题中,我们将深入探讨Struts2框架的核心概念、基类封装以及如何通过源码分析来提升开发效率。 首先,Struts2框架的核心在于Action类,它是处理用户请求的入口点。在传统的...

    Struts2_Validation

    1. **Action和Form Bean**:在Struts2中,Action类代表了业务逻辑,而Form Bean(通常称为ActionForm)则封装了来自页面表单的用户输入。验证过程通常发生在Action执行之前,对Form Bean的属性进行检查。 2. **...

    Struts2数据输入验证教程详解

    Struts2是一个流行的Java web开发框架,它提供了一种强大的数据输入验证机制,确保用户提交的数据符合预期格式和约束。本教程将深入讲解Struts2中的数据输入验证,包括两种主要验证方式:客户端验证和服务端验证。...

    Struts2SpringUnitDemo单元测试

    这两个框架都是Java Web开发中的关键组件,Struts2负责控制层逻辑,Spring则提供了全面的依赖注入(DI)和面向切面编程(AOP)功能,以及对数据访问层的支持。 1. **Struts2框架**:Struts2是一个开源的MVC框架,...

    struts2 demo project

    4. **Value Stack**:Struts2使用Value Stack来存储Action的属性,使得视图可以直接访问这些属性,简化了数据传递过程。 5. **Ognl(Object-Graph Navigation Language)**:Struts2内部使用OGNL作为表达式语言,...

    Java Struts2 实现CRUD

    - **插件(Plugins)**:Struts2提供了一些预封装的功能插件,如JSON、Tiles、Freemarker等,方便开发者快速构建功能。 总结来说,Java Struts2框架通过其强大的MVC架构和丰富的功能组件,使得实现CRUD操作变得简洁...

    Struts2简介与入门

    而Struts2框架中,各个jar包的作用也是学习过程中的重点内容,比如struts2-core.jar是Struts2的核心类库,xwork-core.jar是WebWork的核心库,ognl.jar用于支持OGNL表达式语言,而javassist.jar用于操作Java字节码。...

    struts2+json+jquery实现ajax数据的存取

    - **返回JSON数据**:完成业务处理后,Struts2通过JSON插件将结果集封装成JSON响应,并设置相应HTTP头信息,如Content-Type为'application/json'。 - **jQuery处理响应**:前端接收到响应后,jQuery自动将JSON数据...

    Struts2基本原理

    总的来说,Struts2框架提供了一个结构化的方法来组织和管理Web应用,简化了开发过程,通过配置文件和拦截器机制实现了高度的灵活性和可扩展性。然而,随着Spring MVC和其他轻量级框架的发展,Struts2在现代Web开发中...

    Struts2输入校验总结

    2. **异常处理与错误封装**:如果类型转换过程中遇到问题,如无法正确转换数据类型,会抛出异常。这些异常会被捕获并封装到`fieldError`对象中,存储在`ActionContext`中,以便后续的拦截器处理。 3. **反射调用...

    ssh2(struts2+spring2.5+hibernate3.3+ajax)带进度条文件上传(封装成标签

    2. **后端**:Struts2 Action接收到文件数据,可能通过Spring的Service层进一步处理。使用Hibernate将文件信息保存到数据库,同时处理文件的实际存储。 3. **进度反馈**:后端在处理文件上传的过程中,通过Ajax回调...

    struts2(包括增删改查的实现,及登录实现。jdbc连接。适合struts2初学者)

    1. 创建(Create):当用户提交新数据时,Struts2会调用一个特定的Action类方法,该方法负责将表单数据转换为ActionForm对象,然后通过JDBC与数据库交互,将新数据插入到数据库中。 2. 读取(Read):为了显示数据...

    struts2+jquery无刷新取后台数据

    例如,当用户需要获取某个列表数据时,前端可以通过Ajax向服务器发送请求,Struts2 Action接收到请求后,执行相应的查询操作,然后将结果集封装成JSON对象,通过Ajax响应返回给前端。前端接收到数据后,使用jQuery...

    Struts2 技术内幕——深入解析Struts2架构设计与实现原理

    - **ActionForm**:虽然Struts2不再强制要求使用ActionForm,但它依然被广泛用于封装用户的请求参数。 - **Interceptor**:拦截器是Struts2的重要组成部分,用于处理诸如权限验证、日志记录等横切关注点。 - **...

Global site tag (gtag.js) - Google Analytics