`
touch_mai
  • 浏览: 40049 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

struts2.0 ognl中的#.%,$符号用法说明

阅读更多
  Struts2 ognl中的#、%和$符号用法说明 收藏
#、%和$符号在OGNL表达式中经常出现,而这三种符号也是开发者不容易掌握和理解的部分。在这里笔者简单介绍它们的相应用途。

1.#符号的用途一般有三种。
   1)访问非根对象属性,例如示例中的#session.msg表达式,由于Struts 2中值栈被视为根对象,所以访问其他非根对象时,需要加#前缀。实际上,#相当于ActionContext. getContext();#session.msg表达式相当于ActionContext.getContext().getSession(). getAttribute(”msg”) 。
    2)用于过滤和投影(projecting)集合,如示例中的persons.{?#this.age>20}。
    3)用来构造Map,例如示例中的#{'foo1':'bar1','foo2':'bar2'}。

2.%符号
%符号的用途是在标志的属性为字符串类型时,计算OGNL表达式的值。如下面的代码所示:
构造Map
<s:set name="foobar" value="#{'foo1':'bar','foo2':'bar2'}" />

<p>The value of key "foo1" is <s:property value="#foobar['foo1']" /></p>

<p>不使用%:<s:url value="#foobar['foo1']" /></p>

<p>使用%:<s:url value="%{#foobar['foo1']}" /></p>

3.$符号
$符号主要有两个方面的用途。

   在国际化资源文件中,引用OGNL表达式,例如国际化资源文件中的代码:reg.agerange=国际化资源信息:年龄必须在${min}同${max}之间。

    在Struts 2框架的配置文件中引用OGNL表达式,例如下面的代码片断所示:
<validators>
    <field name=”intb”>
            <field-validator type=”int”>
            <param name=”min”>10</param>
            <param name=”max”>100</param>
            <message>BAction-test校验:数字必须为${min}为${max}之间!</message>
        </field-validator>
    </field>
</validators>
分享到:
评论

相关推荐

    Struts2 ognl中的#、%和$符号用法说明

    总的来说,理解并熟练掌握`#`、`%`和`$`在Struts2和OGNL中的用法,对于有效利用Struts2框架进行开发至关重要。这不仅可以帮助你更好地组织和控制应用程序的行为,还能提高代码的可读性和维护性。在实践中,还需要...

    OGNL中的#、%和$符号用法说明

    ### OGNL中的#、%和$符号用法说明 #### 概述 OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取和设置Java对象的属性。它在许多Java应用框架中得到了广泛应用,尤其是在Struts2中作为...

    struts2.0标签$ # %的区别

    本文将详细介绍Struts2.0标签库中 `$`, `#`, `%` 的使用方法及其区别。 #### 二、Struts2.0 标签概述 ##### 1. 通用标签 - **Property** - 用于展示数据栈中的数据。 - 支持默认值设置。 - 可以控制HTML转义。...

    ONGL中(#.%.$)三种符号的用法.docx

    在给定的文档中,我们关注的是`#.%.$`这三种符号在OGNL中的用法。以下是它们的具体解释: 1. `#`:此符号在OGNL中代表Action Context。在Struts2中,Action Context包含了请求、会话、应用范围内的属性,以及Value ...

    ONGL中(#.%.$)三种符号的用法.pdf

    本文将深入探讨OGNL中`#`,`%`,`$`这三个特殊符号的用法。 首先,`#`符号在OGNL中的主要作用是访问Stack Context中的值,以及创建和访问特定的命名对象。例如,`#parameters`对象可以用来获取HTTP请求参数,`#...

    Struts 2.0中文帮助手册.chm

    3. **表达式语言(OGNL)**:Struts 2.0采用OGNL(Object-Graph Navigation Language)作为默认的表达式语言,允许开发者在视图层便捷地访问模型数据。 4. **丰富的插件支持**:Struts 2.0拥有众多插件,可以扩展...

    struts2.0中文帮助手册.chm

    在开发过程中,"struts2.0中文帮助手册.chm"将详细解释如何创建Action类、配置Action、编写JSP视图、使用OGNL表达式以及调试和优化应用。手册还会介绍Struts2与Spring、Hibernate等其他框架的集成,以及如何处理安全...

    OGNL表达式中的#、%和$.txt

    根据提供的文件信息,我们可以深入探讨OGNL(Object-Graph Navigation Language)表达式中涉及的关键符号:#、% 和 $ 的具体用法与应用场景。 ### 一、符号“#”的应用 在OGNL表达式中,“#”这个符号主要用于访问...

    struts2.0中文帮助手册.rar

    这个“struts2.0中文帮助手册”应该包含了Struts2.0框架的详细使用指南、配置示例、API文档以及常见问题解答等内容,对于开发者来说,是学习和工作中不可或缺的工具。通过深入学习和理解手册中的内容,开发者可以更...

    struts2.0中文帮助手册.

    该“struts2.0中文帮助手册”是开发者在学习和使用Struts2.0框架时的重要参考资料。它包含了框架的全面介绍、配置指南、API文档以及示例代码,帮助开发者理解和掌握Struts2的核心概念和功能。 在手册中,你可以找到...

    struts 2.0的详细讲解.rar

    因此,使用Struts 2.0时,应保持框架和依赖库的最新版本,避免使用易受攻击的API,并遵循安全编码规范,例如使用预编译的表达式,限制OGNL表达式的使用等。 总之,Struts 2.0是一个强大且功能丰富的Web开发框架,它...

    ognl.jar资源包

    camel-ognl-1.6.4.jar, camel-ognl-2.8.1.jar, com.springsource.org.ognl-2.6.9.jar, com.springsource.org.ognl-sources-2.6.9.jar, ognl-2.5.1.jar, ognl-2.6.11.jar, ognl-2.6.3.jar, ognl-2.6.5.jar, ognl-...

    struts2.0中文教程

    01 为Struts 2.0做好准备 02 常用的Struts 2.0的标志(Tag) 03 Struts 2.0的Action讲解 04 在Struts 2.0中国际化(i18n)您的应用程序 ...11 Struts 2中的OGNL 12 trus 2的新表单标志的使用 13 Struts 2与AJAX

    struts2.0中的ognl

    本篇文章将深入探讨OGNL在Struts2.0中的应用及其重要性。 一、OGNL简介 OGNL,全称为Object-Graph Navigation Language,是一种强大的、动态的、类型安全的表达式语言,允许程序开发者通过简单的字符串表达式来访问...

    struts2中的OGNL的源码

    2. **方法调用**:可以使用OGNL调用对象的方法,如`list.add("item")`。 3. **集合操作**:支持对集合进行操作,如`list[0]`访问列表的第一个元素,`map["key"]`访问映射中的值。 4. **运算符支持**:包括算术运算...

    Struts2.0中文教程.chm

    Struts2.0是Java企业级开发中广泛使用的MVC框架,它是在Struts1.x的基础上发展起来的,旨在提供更强大的功能、更好的性能和更灵活的架构。本教程全面覆盖了Struts2.0的核心概念和技术,为初学者和进阶开发者提供了...

    Struts2.0视频教程+struts2.0中文教程

    1. **OGNL(Object-Graph Navigation Language)**:介绍Struts2中使用的表达式语言,用于在Action和视图之间传递数据。 2. **Action与Result**:详细阐述Action类的设计和编写,以及如何定义Result来控制流程跳转...

    struts2.0的特点

    在Struts2.0中,Action的执行方法通常命名为execute(),但并不强制,可以通过配置文件指定任何方法作为执行入口。当Action执行完毕后,返回一个字符串,这个字符串将决定页面的流转方向,比如“input”可能指向输入...

    ognl-2.6.11.jar 官方源码

    2. **动态方法调用**:除了属性访问,OGNL还支持动态方法调用,例如`list.add(item)`,可以在运行时根据表达式找到并调用合适的方法。 3. **上下文映射**:OGNL使用一个上下文映射(Context Map),其中存储了变量...

Global site tag (gtag.js) - Google Analytics