`
cppmayi
  • 浏览: 24883 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Struts2学习笔记7(OGNL--2)

阅读更多

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表达式的值。如下面的代码所示:

<h3>构造Map</h3>

    <s:set name="foobar" value="#{'foo1':'bar1', '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>

运行界面如图8.4所示。

8.4 “%”OGNL表达式用法

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>

<!--EndFragment-->
分享到:
评论

相关推荐

    struts2 学习重点笔记

    这是学习struts2时记得重点笔记,包括了一些原理,ognl语句的编写,以及如何设置拦截器等等一些基本知识,起到复习和巩固的作用

    struts2 OGNL语言学习笔记

    本人在学习struts2框架时的学习笔记,主要是ognl表达式语言的运用。希望对大家有所帮助!

    OGNL学习笔记,包含struts2中ognl的各种用法

    struts2 OGNL的主要用法 基本覆盖全部

    Struts2 学习笔记

    01 Struts2-Action 5 一、 Struts作用: 5 二、 搭建Struts2的运行环境: 5 三、 Namespace 6 四、 标签 6 五、 Action 6 六、 路径问题的说明 8 七、 Action的动态调用方法 8 八、 Action通配符(wildcard)的配置 9 ...

    Struts2_OGNL 笔记

    OGNL是通常要结合Struts 2的标志一起使用,如等。大家经常遇到的问题是#、%和$这三个符号的使用。下面我想通过例子讲述这个问题: 首先新建名为Struts2_OGNL的Web工程,配置开发环境。之前很多朋友在使用Struts 2的...

    Struts学习笔记.txt

    Struts2 必备5个jar包: commons-logging-api-1.1.jar freemarker-2.3.8.jar ognl-2.6.11.jar struts2-core-2.0.8.jar xwork-2.0.3.jar

    Struts2.1学习笔记

    基于 Struts2.1.8 包括Struts2的基本应用、文件上传、拦截器、输入校验、国际化、OGNL表达式、Struts2标签等内容。

    Struts 2.1.8_学习源码

    Struts2默认支持OGNL、JSTL、Groovy和Velcity表达式 Struts2_04ActionResultType : Struts2关于Action跳转类型的应用 对各种不同的跳转类型使用的实例 Struts2_05Interceptor : Struts2拦截器的使用 Struts2_06...

    struts2的学习笔记+测试源代码

    struts2的ognl表达式 博文链接:https://wuzhaohuixy-qq-com.iteye.com/blog/710102

    struts学习笔记(4)

    15.OGNL表达式 对象图导航语言 Object Graph Navigation Language 是一种比较强大的表达式语言(比EL表达式的功能...1)ognl表达式只能写在Struts2标签的里面(任何一个struts2标签都行) EL表达式可以写在页面的任何位置

    Java学习笔记-个人整理的

    \contentsline {chapter}{Contents}{2}{section*.1} {1}Java基础}{17}{chapter.1} {1.1}基本语法}{17}{section.1.1} {1.2}数字表达方式}{17}{section.1.2} {1.3}补码}{19}{section.1.3} {1.3.1}总结}{23}{...

Global site tag (gtag.js) - Google Analytics