`
younglibin
  • 浏览: 1214426 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Struts2中使用OGNL进行计算

    博客分类:
  • OGNL
阅读更多

提问:在Struts2中,如何使用自身的Tag读取Action中的变量?

Struts2自身的Tag会根据value中的OGNL表达式,在ValueStack中寻找相应的对象。因为action在ValueStack的顶部,所以默认情况下,Struts2的Tag中的OGNL表达式将查找action中的变量。请注意,value中的内容直接是OGNL表达式,无需任何el的标签包装。

例如:<s:property value="user.name" />

提问:在Struts2中,如何使用自身的Tag读取HttpServletRequest,HttpSession中的变量?

在上面的知识中,我们知道,Struts2中OGNL的上下文环境中,包含request,session,application等servlet对象的Map封装。既然这些对象都在OGNL的上下文中,那么根据OGNL的基本知识,我们可以通过在表达式前面加上#符号来对这些变量的值进行访问。

例如:<s:property value="%{#application.myApplicationAttribute}" />
<s:property value="%{#session.mySessionAttribute}" />
<s:property value="%{#request.myRequestAttribute}" />
<s:property value="%{#parameters.myParameter}" />

在这里啰嗦一句,在Tag的value中包括%{开头和}结尾的字符串,不知道Struts2为什么要做出这样的设置,从源码上看,它似乎没有什么特别额外的作用:

分享到:
评论

相关推荐

    Struts2 如何使用OGNL表达式(三十八)

    在Struts2中,OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于在视图层和模型层之间进行数据绑定和表达式计算。本文将深入探讨如何在Struts2中有效地使用OGNL表达式。 首先,OGNL是Struts2的...

    struts2 ognl用法项目

    在Struts2中,OGNL用于处理动作类的属性到JSP页面的传递,以及用户输入到动作类的绑定。 首先,让我们了解OGNL的基本语法。OGNL表达式通常包含两个部分:对象引用和属性访问。例如,`user.name`表示获取名为`user`...

    第四章:struts2中的OGNL.ppt

    第四章:Struts2中的OGNL.ppt详细探讨了Struts2框架中使用OGNL(Object-Graph Navigation Language,对象图导航语言)的关键概念和技术。OGNL作为一种强大的表达式语言,使得开发者能够方便地访问Action携带的数据,...

    struts2 ognl的用法

    在Struts2中使用OGNL表达式主要涉及以下几种符号:“#”、“%”和“$”。 ##### 1. “#”符号的使用 - **访问Struts2上下文**: - `#`可用于访问当前的`ActionContext`,如`#ActionContext.getContext()`。 - ...

    Struts 2中的OGNL教程

    #### 四、OGNL 在 Struts 2 中的使用 OGNL 通常与 Struts 2 的标签库一起使用,例如 `&lt;s:property value="xx"/&gt;`。在使用 OGNL 时,需要注意几个符号的使用: - **#**:表示 OGNL 表达式的开始。 - **%**:用于...

    struts2中OGNL使用源自javaWeb编程王者归来

    在这个实例中,我们将深入探讨如何在Struts2中使用OGNL来获取Servlet对象的值、筛选集合中的对象,以及理解OGNL表达式的生命周期。 首先,让我们了解OGNL的基本语法。OGNL允许我们通过点号(.)和方括号([])来...

    struts2官方表达式ognl源码

    Struts2是一个流行的Java web应用程序...学习OGNL不仅可以提高在Struts2中的开发效率,还能为其他使用OGNL的项目提供参考。如果你对某个特定部分有更深入的兴趣,例如表达式解析或安全防护,可以进一步探索相关源码。

    struts2中的ActionContext与ognl

    ActionContext是Struts2框架中一个关键的组件,它提供了当前请求上下文的信息,而OGNL(Object-Graph Navigation Language)则是Struts2中的表达式语言,用于在模型和视图之间进行数据传递。下面将详细探讨这两个...

    struts2 ognl源码

    OGNL(Object-Graph Navigation Language)是Struts2中的核心表达式语言,用于在Action对象和视图之间传递数据。在这个主题中,我们将深入探讨Struts2 OGNL2.6.11的源码,了解其内部工作原理和关键功能。 首先,...

    STRUTS2.1z中的OGNL的表达式

    OGNL不仅支持属性和方法的访问,还能进行条件判断、循环等复杂逻辑的处理,是Struts2中处理数据流和视图渲染的核心技术之一。 #### 2. OGNL在Struts2中的应用 在Struts2中,OGNL被广泛应用于Action类与视图层之间的...

    ognl.rar_OGNL API_struts2 ognl api_struts2帮助文档

    在Struts2中,这个上下文通常包含ActionContext,包含了Action实例、请求、会话等信息。 3. **ValueStack**:Struts2的ValueStack是一个对象栈,它用于存放Action实例和其他数据。OGNL可以方便地从ValueStack中查找...

    struts2_OGNL表达式ActionContext及valuesStack

    本文将深入探讨Struts2中的OGNL表达式,ActionContext以及valuesStack。 首先,OGNL表达式是Struts2中不可或缺的一部分,它允许开发者以一种声明式的方式访问和修改对象的属性。比如,`myBean.getMyProperty()`这样...

    STRUTS2+ognl

    Ognl(Object-Graph Navigation Language)是Struts2中的一个重要组件,用于在视图层和模型层之间传递数据。本文将详细介绍Struts2、Webwork以及Ognl的相关知识点,并提供入门指导。 **Struts2框架** Struts2是在...

    Struts2 & OGNL

    OGNL(Object-Graph Navigation Language)是Struts2中的默认表达式语言,用于在视图和控制器之间传递数据。在这个主题中,我们将深入探讨Struts2与OGNL的整合以及它们在实际开发中的应用。 **Struts2框架概述** ...

    Struts2_OGNL 笔记

    Struts2_OGNL笔记主要关注的是如何在Struts2框架中使用OGNL(Object-Graph Navigation Language)表达式语言。OGNL作为一种强大的表达式语言,常用于Struts2的视图层,允许开发者轻松地访问和操作Java对象的属性。 ...

    Struts2的OGNL详解

    ### Struts2中的OGNL详解 #### 一、OGNL简介 OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,它属于一种Expression Language(EL),主要用于在Java环境中访问对象属性。OGNL的设计思想非常独特...

    ognl与struts2_ognl

    这些是OGNL的基本概念和用法,它们使得在Struts2框架中处理复杂的数据绑定和表达式计算变得简单而灵活。开发者可以通过OGNL轻松地访问和操纵对象的属性,执行动态逻辑,甚至调用方法,极大地提升了开发效率和代码的...

    最新 ognl-2.6.11+struts2-core-2[1].0.11+xwork-2.0.5源码

    在Struts2中,OGNL作为默认的表示层语言,用于在视图和模型之间传递数据。它的功能包括对象导航、方法调用、表达式计算等,使得开发者可以方便地访问和操作对象的属性,如`#{user.name}`。OGNL-2.6.11版本提供了改进...

    Struts2--5.OGNL

    1. Action结果映射:Struts2允许在Action的结果配置中使用OGNL表达式,比如跳转到某个页面并传递参数。 2. 结果值栈:Struts2使用值栈来存储请求相关的数据,OGNL可以从值栈中检索或修改数据。 3. JSP标签:在JSP...

    Java实训教程 Java软件开发实战 Java开发框架介绍 struts2_4_OGNL 共71页.pptx

    - **标签库的使用**:Struts2 提供了一系列基于 OGNL 的标签,这些标签可以帮助开发者更方便地在视图层中使用 OGNL。 #### 六、OGNL 的高级特性 除了基本的属性访问和方法调用之外,OGNL 还支持一些高级特性,比如...

Global site tag (gtag.js) - Google Analytics