paramsPrepareParamsStack在Struts 2.0中是一个很奇妙的interceptor
stack,以至于很多人疑问为何不将其设置为默认的interceptor
stack。paramsPrepareParamsStack主要解决了ModelDriven和Preparable的配合问题,从字面上理解来说,
这个stack的拦截器调用的顺序为:首先params,然后prepare,接下来modelDriven,最后再params。Struts
2.0的设计上要求modelDriven在params之前调用,而业务中prepare要负责准备model,准备model又需要参数,这就需要在
prepare之前运行params拦截器设置相关参数,这个也就是创建paramsPrepareParamsStack的原因。流程如下:
1. params拦截器首先给action中的相关参数赋值,如id
2. prepare拦截器执行prepare方法,prepare方法中会根据参数,如id,去调用业务逻辑,设置model对象
3. modelDriven拦截器将model对象压入value stack,这里的model对象就是在prepare中创建的
4. params拦截器再将参数赋值给model对象
5. action的业务逻辑执行
依据此stack
分享到:
相关推荐
本案例“Struts2之模型驱动及分层架构初识”将深入探讨Struts2中的模型驱动模式和分层架构的概念及其应用。通过实践案例struts004,我们可以更直观地理解这些关键概念。 首先,让我们来了解**模型驱动**。在Struts2...
5. **模型驱动(ModelDriven)**:Struts2提供了一种模型驱动的方式,将Action与业务模型对象绑定,简化了数据处理。 6. **值栈(Value Stack)**:值栈是Struts2用来存储Action和表单属性的地方。它使得视图层可以...
知识点:struts2,struts2模型驱动,Java反射,struts2插件使用,struts2与JFreeChart的集成开发,JFreeChart图表 1、开发环境:MyEclipse6.0, Struts 2.0.11, JFreeChart 1.0.9, JCommon 1.0.12,struts2-jfreechart...
- **概念介绍**:模型驱动(Model Driven)是Struts2提供的一种简化Action开发的方法,它允许将Action的模型(Model)和视图(View)进行分离,从而提高代码的可读性和可维护性。 #### 四、Struts2异常处理 **4.1 ...
SSH2模型驱动整合是软件开发领域中的一种框架集成方式,主要涉及Spring、Struts2和Hibernate这三大开源框架。Spring负责应用的业务层管理,提供依赖注入(DI)和面向切面编程(AOP)等功能;Struts2作为表现层框架,...
知识点:struts2,struts2模型驱动,Java反射,struts2插件使用,struts2与JFreeChart的集成开发,JFreeChart图表 1、开发环境:MyEclipse6.0, Struts 2.0.11, Spring2.5.4, struts2-spring-plugin-2.0.11.1,...
Struts 1.2驱动包是Apache软件基金会开发的一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架。它旨在提供一个结构化的、可扩展的平台,帮助开发者构建更易于维护和管理的Web应用。Struts 1.2...
如果你是用模型驱动,或者是直接把属性写在action里面,你不会碰到我遇到的那么多问题。 但是你用模型驱动好吗,如果一个页面需要处理多个对象的时候怎么办。 如果你直接把属性写在action里面,当一个对象有20个...
本文将深入探讨Struts2的属性驱动和模型驱动的区别,以及如何防止表单的重复提交,并讲解如何在表单中正确显示验证信息。 ### 属性驱动与模型驱动 **属性驱动**(Property Driven)是Struts2中的一种常见做法,它...
Struts2是一个强大的Java web应用程序开发框架,它基于Model-View-Controller(MVC)设计模式,旨在简化创建用户交互式、数据驱动的web应用的过程。这个“Struts2接口文档”是开发者的重要参考资料,提供了关于...
5. **模型驱动(ModelDriven)**:这是一种简化Action类设计的方式,允许Action类仅关注业务逻辑,而将模型对象的管理交给框架。 6. **值栈(Value Stack)**:值栈是Struts2中的一个核心组件,它存储了请求中的...
本篇文章将深入探讨Struts2中的三个关键概念:命名空间、模型驱动以及表单重复提交的处理,这些都是在实际开发中必不可少的知识点。 **命名空间(Namespace)** 命名空间在Struts2中扮演着路由和隔离的作用。它可以...
- Struts2支持模型驱动,允许Action直接引用业务对象,减少了数据转换的繁琐工作。 6. **插件系统**: - Struts2拥有丰富的插件库,如Struts2-dojo-plugin、Struts2-convention-plugin等,可以方便地集成第三方库...
Struts2中的模型驱动模式允许将Action与业务对象直接关联,使得Action可以直接操作这些对象。值栈是Struts2中的一种数据管理机制,它存储Action、结果和其他对象,方便在Action之间共享数据。 **5.拦截器...
2. **模型驱动**:使用一个公共对象作为模型,Action类持有这个模型的引用,Struts2将请求参数填充到模型对象中,这种方式更便于数据管理和共享。 此外,Struts2还支持动态方法调用、国际化、主题和模板、AJAX集成...
2. **ActionForm**:负责接收和验证用户输入的数据,是模型层和视图层之间的桥梁。 3. **Action**:实现了业务逻辑,是应用程序的核心部分,接收ActionForm的数据并执行相关操作。 4. **Tiles**:用于页面布局,允许...
9. **模型驱动**:模型驱动模式下,Action类可以专注于业务逻辑,而视图的展示则由模型对象负责,这有助于分离关注点。 10. **Tiles框架集成**:Struts2与Tiles框架的结合,使得页面布局和组件化变得简单,可以创建...
此外,Struts2提供了一套丰富的拦截器(Interceptor),它们在Action执行前后执行特定的逻辑,如日志记录、权限检查、模型驱动等。通过在struts.xml中配置拦截器栈,我们可以灵活控制Action的执行流程。 在实际的...
7. **模型驱动**:Struts2的模型驱动模式使得模型对象可以直接绑定到表单字段,简化了数据处理。 在压缩包中的“4.3”可能是指Struts2的一个特定版本,或者是项目的一部分。为了深入理解这个实例,你需要查看源码,...