`

OGNL中的#、%和$符号

阅读更多

  OGNL中的#、%和$符号

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


1.#符号

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

2.%符号

%符号的用途是在标志的属性为字符串类型时,计算OGNL表达式的值。如下面的代码所示:

 

构造Map

The value of key "foo1" is

不使用%:

使用%:

运行界面如图8.4所示。

 
图8.4 “%”的OGNL表达式用法

3.$符号

$符号主要有两个方面的用途。
 
在国际化资源文件中,引用OGNL表达式,例如国际化资源文件中的代码:reg.agerange=国际化资源信息:年龄必须在${min}同${max}之间。
 
在Struts 2框架的配置文件中引用OGNL表达式,例如下面的代码片断所示:

 


10
100
BAction-test校验:数字必须为${min}为${max}之间!


分享到:
评论

相关推荐

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

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

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

    在OGNL表达式中,`#`、`%`和``$`符号扮演着不同的角色,它们是OGNL语法的重要组成部分。下面将详细介绍这三个符号的用法。 1. `#`(哈希符号) `#`在OGNL中代表“上下文引用”或“值栈引用”。在Struts2中,请求...

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

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

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

    在Struts2中,OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取和设置对象的属性。在给定的文档中,我们关注的是`#.%.$`这三种符号在OGNL中的用法。以下是它们的具体解释: 1. `#`:此...

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

    首先,`#`符号在OGNL中的主要作用是访问Stack Context中的值,以及创建和访问特定的命名对象。例如,`#parameters`对象可以用来获取HTTP请求参数,`#request`用于访问HttpServletRequest的属性,`#session`用于访问...

    % # $ 的区别 及用法

    ### `% # $`的区别及用法 在Struts2框架中,`%`, `#`, `$` 这三...通过以上分析,我们可以看出 `%`, `#`, `$` 这三个符号在Struts2中的应用场景各有不同,合理选择和使用这些符号可以帮助开发者更高效地完成开发任务。

    struts2.0标签$ # %的区别

    - **用途**:主要用于国际化资源文件和Struts配置文件中的属性引用。 - **示例**: ```xml ``` 其中,`<s:text>` 标签中的`name`属性使用`$`来引用国际化资源文件中的键。 ##### 2. # 取得ActionContext的值 ...

    #和$的区别

    - **访问上下文**: 在Struts2中,“#”主要用于访问OGNL上下文和Action上下文。它等同于`ActionContext.getContext()`。通过使用“#”,可以轻松访问到当前的HTTP请求参数、HttpServletRequest属性、HttpSession属性...

    ognl表达式java使用案例详解(测试通过)

    本案例提供ognl使用详解,测试通过,只需解压放入自己WEB项目中,执行struts_ognl包内java文件即可(未提供jia包,若需要可以联系留言发至邮箱),若测试不好可以联系本人提供指导. Struts 2默认的表达式语言是OGNL...

    OGNL符号的使用

    OGNL 符号的使用 OGNL(Object-Graph Navigation Language)是一...OGNL 表达式在 Struts2 中的使用非常广泛,开发者需要充分了解“%”、“#”、“$”这三个符号的使用规则,以便更好地使用 OGNL 表达式提高开发效率。

    教案第五章struts2的标签库.pdf

    $ 符号用于在国际化资源文件中引用 OGNL 表达式和在 Struts 2 框架的配置文件中引用 OGNL 表达式。 Struts 2 标签库可以分为三类:UI 标签、数据标签和逻辑标签。UI 标签用于生成用户界面,数据标签用于显示和输出...

    OGNL语言中文资料

    综上所述,这份"OGNL语言中文资料"应该涵盖了OGNL的基本概念、语法特性以及在实际开发中的应用案例,是学习和掌握OGNL的宝贵资源。通过深入学习和实践,开发者能够更好地利用OGNL提升代码的灵活性和可维护性。

    OGNL表达式

    4. **访问OGNL上下文(OGNL context)和ActionContext**:OGNL可以访问当前上下文中的对象,包括Struts2框架内部的对象。 5. **操作集合对象**:OGNL提供了强大的集合操作功能,使得处理列表、数组等数据结构变得...

    struts2 ognl的用法

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

    OGNL教程,简单,看完懂OGNL语言

    在Struts2框架中,OGNL扮演着关键角色,用于处理Action和视图之间的数据传递。在这里,`#`、`%`和`$`三个符号有特定的用途: 1. `#`:在Struts2中,`#`符号通常用于引用Action上下文中的值栈对象。例如,`#request`...

    struts2 OGNL语言学习笔记

    在使用 OGNL 时,经常遇到的问题是 #、% 和 $ 这三个符号的使用。例如:<s:property value="xx" /> 等。 此外,在使用 Struts 2 时,需要注意乱码问题,解决方法是将编码方式设为“utf-8”,并在 web.xml 中配置 ...

    ognl图形导航语言

    在Struts2框架中,OGNL作为默认的表达式语言发挥着核心作用,允许开发者以简洁的方式访问和修改对象的属性。然而,由于其灵活性和丰富的功能,OGNL也可能带来一些问题,尤其是在符号的使用上。 首先,OGNL支持对象...

    struts2中OGNL的一些概念及原理说明

    ### Struts2中OGNL的概念及原理说明 #### 一、OGNL表达式的基本用法与特点 ...综上所述,OGNL和EL表达式在Struts2框架中扮演着重要角色,掌握这些概念和技巧有助于开发者更加高效地进行Web应用程序的开发。

    STRUTS2标签中符号_,$,%的用法示例.doc

    在STRUTS2的标签中,`#`,`$`, `%`这三种特殊符号扮演着重要的角色,尤其是在处理OGNL表达式时。下面将详细解释这三个符号的用途。 1. `#` 符号: - **访问非根对象属性**:在STRUTS2中,ActionContext是默认的根...

Global site tag (gtag.js) - Google Analytics