`

xwork元素详解

 
阅读更多

valueStack  是ActionContext的一个组成部分

ActionContext 所表现出来的是空间的概念,恰好成为数据载体进行存储的天然基石

ActionContext是XWork的数据流实现元素,作为一个数据载体,他既可以负责数据存储,又负责数据共享

ValueStack是一个具备表达式引擎计算能力的数据结构

 

XWork将ValueStack置于ActionContext中的目的在于为静态的数据添加动态计算的功能

 

ActionContext无法脱离ValueStack而单独存在,否则所有的数据载体就如一滩死水,失去流动性的数据流,只能称之为数据载体而非数据流

ValueStack无法脱离ActionContext而单独存在,否则ValueStack就 没有了数据计算的基础,失去了数据的数据流,只能称之为一个表达式计算工具而非数据流

 

事件处理节点和驱动元素

 

在XWork的控制流中,事件处理驱动元素对事件处理节点元素形成调用关系

 

主力部队和策应部队

在整个栈结构中,除了位于栈底的action以外,栈中的其他元素都是Interceptor对象

由于Action位于栈的底部,根据栈结构的 先进后出的特性,当试图把action对象拿出来的执行时,我们必须首先把Action之上的所有Interception依次拿出来执行

每个位于栈中的Interceptor,除了需要完成他自身的逻辑外,还需要指定下一步的执行对象

 

 

 

 

这里表现了

对应事件处理,能够进行进一步的规范化的流程细化

对于细化的流程,能够具备高度的可扩展性

流程细化后的事件处理节点之间表现出明显的执行层次

 

 

 被封装的SessionMap等对象,能够进一步保证数据访问的线程安全性

保持所有存储对象的Map结构,可以统一数据访问方式

 

 

ValueStack是XWork对OGNL所做的重要扩展,使得在Struts2在使用ValueStack进行OGNL计算时,可以将一组对象都视为Root对象

 

 

ValueStack是一个被设计成 栈的数据结构,并且还是一个具备表达式引擎计算能力的数据结构

 

ValueStack是XWork框架进行OGNL计算的场所

ValueStack是XWork框架进行数据访问的基础

 

从栈的顶端开始对每个栈内元素进行表达式匹配计算,并返回第一个成功匹配的计算结果

 

ValueStack对OGNL的计算规则是栈内元素遍历   栈内元素遍历的结果是返回第一个满足OGNL表达式运算的结果值

 

一个大小为n的valueStack,除了自身外,有n-1个子栈

每一个子栈自身也是valueStack,相对ValueStack形成一个递归的数据结构

 

对于有状态的响应类,响应类的属性变量是描述自身状态的核心元素,也是响应方法进行逻辑处理的核心数据依赖

 

interceptor

 

切面aspect  interceptor  实现

通知类型 advice  环绕通知 around通知

切入点pointcut  action 对象

连接点joinpoint  action的执行

 

 

 

 

 

分享到:
评论

相关推荐

    xwork源码及札包

    **XWork源码及打包资源详解** XWork是Apache Struts框架的核心组件,它提供了一套强大的动作(Action)框架,使得开发者能够构建基于MVC(Model-View-Controller)模式的Web应用。这个资源包包含了XWork项目的源...

    xwork-core-2.2.1.1.zip

    《XWork核心库详解——基于xwork-core-2.2.1.1.zip》 XWork,作为Struts2框架的重要组成部分,为Java Web开发提供了强大的动作调度和业务逻辑处理能力。本文将深入探讨xwork-core-2.2.1.1.zip这个压缩包中的核心...

    xwork核心包

    《XWork核心包详解》 XWork,作为一个关键的开源框架组件,是许多Java企业级应用开发中的重要一环。其版本2.2.3.1是我们关注的焦点,这个核心包(xwork-core-2.2.3.1.jar)承载了XWork的核心功能,为开发者提供了...

    xwork配置内容详细讲解

    #### 二、XWork的配置文件详解 XWork 的核心配置文件通常为 `xwork.xml`,该文件是 XWork 运行的核心,包含了所有动作、拦截器以及结果类型的配置信息。 ##### 1. 动作(Action) 动作是 XWork 处理用户请求的...

    xworkdocs 对struts2学习有帮助

    ### XWork与Struts2学习知识点详解 #### 一、XWork概述 XWork是一个用于构建Web应用程序的轻量级框架。它最初是为Apache Struts2项目开发的核心组件之一,但后来发展成为一个独立的框架。XWork的核心功能包括:处理...

    struts2+ajax详解pdf清晰

    3. **DOM操作:** Ajax获取数据后,通过修改DOM(Document Object Model)结构来更新页面内容,如创建新的HTML元素、改变现有元素属性等。 4. **局部刷新:** Ajax使得只更新页面的部分区域成为可能,提高了用户...

    struts2搭建详解

    2. 编写JSP页面,包含表单元素,用于用户输入数字并提交。 3. 在Struts2的配置文件,通常是`struts.xml`中,定义Action及其结果页面。 Struts2的配置文件比Struts1.x的struts-config.xml简洁许多,我们可以直接在...

    Struts2应用开发详解06

    在“Struts2应用开发详解06”这一主题中,我们将深入探讨Struts2中的自定义方法以及相关的开发建议。 自定义方法在Struts2中扮演着至关重要的角色,它们允许开发者扩展框架的功能,以满足特定项目的需求。自定义...

    Struts2各配置文件详解.doc

    在`struts.xml`中,我们经常看到`<package>`元素,它是Struts2配置的基本单元。每个`<package>`可以包含Action、拦截器、结果和其他配置。`<package>`可以通过继承其他包来复用配置,这使得配置更加模块化和可维护。...

    struts2通配符的使用详解

    import com.opensymphony.xwork2.ActionSupport; @SuppressWarnings("serial") public class UserAction extends ActionSupport { public String add() { return SUCCESS; } public String delete() { ...

    Structs2 标签库详解

    这涉及到创建一个继承自`com.opensymphony.xwork2.util.ValueStackAware`接口的类,并在其中定义解析和执行逻辑。 5. **JQuery与DOM转换** 在Structs2中,JQuery是一个常用的JavaScript库,用于处理DOM操作和AJAX...

    Jquery拖拽Div层排序8中拖拽效果

    《jQuery实现Div层排序的八种拖拽效果详解》 在网页开发中,动态交互功能是提升用户体验的重要手段,而Div层的拖拽排序就是其中之一。jQuery作为一个强大的JavaScript库,提供了丰富的API和插件,使得实现Div拖拽...

    Java实训教程 Java软件开发实战 Java开发框架介绍 struts2_2_Action详解 共43页.pptx

    - **常见标签**:包括`<s:textfield>`、`<s:select>`、`<s:checkbox>`等,用于表单元素的快速生成和数据绑定。 ##### 3.4 国际化支持 - **多语言**:通过配置文件(`struts.properties`)和资源文件(`*.properties`)...

    S2SH的框架配置详解

    **S2SH框架配置详解** S2SH框架是基于Java的Web开发框架,由Struts、Spring和Hibernate三个开源框架组合而成。这个框架为开发者提供了一种高效且灵活的开发方式,尤其对于初学者,理解并掌握S2SH的配置至关重要。...

    Struts2应用开发详解05

    例如,一个Action可能需要处理一个包含多个元素的数组或集合。默认情况下,Struts2会尝试自动匹配并应用适当的`Converter`。如果默认的转换器不能满足需求,开发者可以自定义`Converter`并注册到`ConversionService`...

    WebWork教程

    深入理解xwork.xml的标签元素对于合理配置和优化WebWork应用至关重要。 #### 七、WebWork与开源项目集成 WebWork的灵活性使其能够与其他多种开源项目无缝集成,例如Spring、Hibernate和Xml-RPC等。这些集成不仅...

    Struts2中struts_xml的Action配置详解

    这个类通常需要继承自`org.struts2.interceptor.StackAwareActionSupport`或`com.opensymphony.xwork2.ActionSupport`,并覆盖`execute()`方法来处理业务逻辑。 `method`属性可选,用于指定Action类中要执行的具体...

    struts2.3.20环境搭建详解借鉴.pdf

    你可以在这里定义包、Action、结果和其他配置元素。例如,创建一个简单的Action: ```xml <result name="success">/HelloWorld.jsp ``` 步骤5 - 编写Action类 在src目录下,创建一个名为HelloWorldAction的...

    WebWork 教程

    深入理解xwork.xml的结构和元素,对于合理配置和优化WebWork应用具有重要意义。通过细致的配置,开发者能够定制WebWork的行为,如选择不同的ResultType来决定Action执行后返回的视图类型,或是通过自定义拦截器来...

Global site tag (gtag.js) - Google Analytics