`

ValueStack理解与实践

 
阅读更多

    ValueStack对象是Struts2中一个重要的对象,它贯穿整个Action的生命周期,每个Action类的对象实例会拥有一个ValueStack对象。
     在ValueStack对象中主要封装了两个对象,一个是Context,另一个是栈。其中Context是一个Map对象,其操作方法主要是put()与get()方法;而栈是一种只能在一端进行插入和删除操作的特殊线性表。它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。它的主要操作方法是push()、pop()、peek()方法。
   

     在项目实践中,如显示列表数据,可以将其查询到的数据List存放于Context中,其方法如下:

     ActionContext.getContext().put("departmentList", departmentList);

     而在jsp页面中,可使用<s:iterator value="#departmentList">迭代数据,由于Context是Map结构所以需要加上#号。

     如编辑数据时,需要显示回显数据,可以将数据压到栈顶,代码如下:

     // 准备回显的信息
     Department department = departmentService.getById(model.getId());
     ActionContext.getContext().getValueStack().push(department);

     那么在JSP页面中直接可以使用Struts2标签取出。

 

 

    

    

 

  • 大小: 30.4 KB
分享到:
评论

相关推荐

    Struts 2 技术详解:基于WebWork核心的MVC开发与实践

    6. **ValueStack**:用于存储Action上下文中的对象,方便在JSP中通过OGNL(Object-Graph Navigation Language)表达式访问。 **Struts 2与WebWork的结合**: Struts 2 的核心技术基础是WebWork,它在Struts 1的基础...

    Struts用的ognl和valueStack(vs)实例

    Struts是Java Web开发中的一个开源框架,它主要用于构建基于MVC(Model-View-Controller)模式的应用程序。...在学习过程中,可以结合Struts_Study中的例子进行实践,这将有助于更好地掌握这些概念。

    struts+hibernate+spring框架理解

    在Struts中,ActionServlet作为控制器接收HTTP请求,根据配置的ActionMapping转发到相应的Action,Action处理完业务逻辑后,通过ValueStack与视图进行交互,最终展示结果。 2. Hibernate框架: Hibernate是一个对象...

    xwork2.0源代码,理解struts2

    3. **实践应用**:尝试编写自定义Interceptor或Result,加深理解。 4. **结合Struts2**:将学到的知识与Struts2的配置和生命周期结合起来,形成完整认知。 总之,这个压缩包中的XWork源代码是一个宝贵的教育资源,...

    Struts+spring+hibernate学习笔记! - Struts原理与实践 - JavaEye知识库.files

    在 Struts 中,Action 类作为控制器接收用户的请求,处理业务逻辑,然后通过 ValueStack 或者 ActionForm 将数据传递给视图进行展示。 Spring 框架则更像一个全能选手,它不仅支持 MVC 架构,还提供了依赖注入(DI...

    Struts2深刻理解所记的笔记

    #### 二、Struts2学习要点与实践技巧 深入了解Struts2并将其应用于项目中,以下几点至关重要: 1. **配置文件的位置与加载**:Struts2的`struts.xml`配置文件通常位于WEB-INF/classes目录下,而非像Struts1那样...

    struts源码,更好的理解框架实现原理

    通过对上述知识点的深入学习和实践,你将能够更加熟练地运用Struts框架,同时也能提高问题定位和解决的能力。阅读源码可以帮助你掌握更多细节,比如类的继承关系、方法的调用流程等,这对于提升个人技能和解决复杂...

    webwork学习文档和实例

    实例代码则可以让你亲手实践,加深理解。例如,你可能会创建一个简单的登录Action,学习如何处理表单数据,验证用户输入,并重定向到不同的页面根据登录结果。 总的来说,这个压缩包提供了全面的学习资源,包括理论...

    Struts2 in action 中文版.pdf

    这些例子涵盖了从简单的CRUD操作到复杂的业务场景,让读者能够通过动手实践,深入理解Struts2的工作原理和最佳实践。 总的来说,《Struts2 in Action》中文版是Java Web开发者必备的参考书籍之一,它不仅提供了全面...

    struts2例子

    这个"struts2例子"是帮助开发者理解并实践Struts2基本用法的一个示例项目。让我们深入探讨一下这个框架的关键特性、核心组件以及如何在实际开发中运用它们。 首先,Struts2的核心组件包括Action、Result、...

    struts中文教程

    8. **ActionSupport与ValueStack**:讲解ActionSupport类及其在处理请求和展示结果中的作用,以及ValueStack的概念,它是Struts2中用于存储和传递数据的重要组件。 9. **Struts与其他技术集成**:可能包括Struts与...

    Struts Gossip

    - MVC设计模式的理解与实践 - Struts框架的生命周期 - 如何创建和配置Action、ActionForm和ActionMapping - 使用Struts的表单验证机制 - 深入理解请求处理流程 - 如何利用Struts拦截器增强功能 - 页面跳转和结果管理...

    struts 2.0 源码 第三章

    7. **ActionContext**:ActionContext封装了当前请求的上下文信息,包括session、request、response、ValueStack等,是Action与其他组件交互的重要桥梁。 8. **异常处理**:Struts 2.0提供了全局异常处理机制,通过...

    struts2学习demo

    4. **ValueStack与OGNL**:ValueStack是Struts2的数据管理工具,它使用OGNL(Object-Graph Navigation Language)表达式语言进行数据访问。在JSP中,你可以直接通过OGNL表达式来获取和设置ValueStack中的数据。 5. ...

    《Struts+2深入详解》

    - **ValueStack与Ognl**:理解ValueStack的作用,它是如何存储Action上下文数据的,以及Ognl表达式语言的使用。 3. **Struts 2的拦截器** - **自定义拦截器**:创建和使用自定义拦截器,理解其工作流程和生命周期...

    java教学讲义(培训讲义)

    Java教学讲义是针对初学者和进阶者的一份重要资料,它涵盖了Java语言的基础、数据库操作以及SSH框架等多个核心主题。...在学习过程中,结合实践案例和项目练习,理论与实践相结合,将更有利于理解和掌握这些知识。

    研磨Struts2配书视频对应的PPT

    其配套的PPT和视频旨在帮助读者更直观地理解书中的理论知识,并将其付诸实践。 在研读《研磨Struts2》时,配合PPT的学习可以有效提高理解和记忆。PPT通常会包含关键概念的总结,如Action、Result、Interceptor、...

    struts2教程(超经典)

    学习Struts2不仅需要理解其核心概念,还需要通过实践项目来提升技能,如构建用户登录注册系统、CRUD操作等,这有助于巩固理论知识并提高问题解决能力。 10. **最佳实践** 在实际开发中,应遵循良好的编程习惯,如...

    struts2.0动画教程

    Struts2的核心组件包括Action、Result、Interceptor、ValueStack等,它们协同工作以实现业务逻辑与视图的分离。 二、MVC模式 在Struts2中,MVC模式被用来组织应用程序结构。Model代表业务逻辑,View负责数据展示,...

    struts2 学习资料

    通过这样的实践,你会更深入地理解Struts2的工作流程和设计模式。 总之,这个压缩包中的资源为学习Struts2提供了全面的指导,涵盖了理论知识和实践经验。通过深入学习和实践,你可以熟练掌握Struts2框架,提升Java ...

Global site tag (gtag.js) - Google Analytics