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

struts中的#、%和$这三个符号的使用

阅读更多
“#”主要有三种用途:

1.      访问OGNL上下文和Action上下文,#相当于ActionContext.getContext();下表有几个ActionContext中有用的属性:

parameters:
包含当前HTTP请求参数的Map
#parameters.id[0]作用相当于request.getParameter("id")

request:
包含当前HttpServletRequest的属性(attribute)的Map
#request.userName相当于request.getAttribute("userName")

session:
包含当前HttpSession的属性(attribute)的Map
#session.userName相当于session.getAttribute("userName")

application:
包含当前应用的ServletContext的属性(attribute)的Map
#application.userName相当于application.getAttribute("userName")

attr:
用于按request > session > application顺序访问其属性(attribute)
#attr.userName相当于按顺序在以上三个范围(scope)内读取userName属性,直到找到为止


2.      用于过滤和投影(projecting)集合,如books.{?#this.price<100};

3.      构造Map,如#{'foo1':'bar1', 'foo2':'bar2'}。


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

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


“$”有两个主要的用途

1.      用于在国际化资源文件中,引用OGNL表达式,例子请参考《在Struts 2.0中国际化(i18n)您的应用程序》

2.      在Struts 2配置文件中,引用OGNL表达式,如

<action name="AddPhoto" class="addPhoto">
            <interceptor-ref name="fileUploadStack" />           
            <result type="redirect">ListPhotos.action?albumId=${albumId}</result>
        </action>

分享到:
评论

相关推荐

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

    下面将详细介绍这三个符号的用法。 1. `#`(哈希符号) `#`在OGNL中代表“上下文引用”或“值栈引用”。在Struts2中,请求处理时会创建一个值栈,它包含了Action对象和其他相关数据。当我们使用`#`符号时,我们...

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

    综上所述,`#`、`%`和`$`这三个符号在OGNL表达式中扮演着不同的角色,分别用于访问根对象属性、计算字符串类型的表达式值以及引用OGNL表达式。熟练掌握它们的用法可以帮助开发者更高效地利用OGNL表达式进行数据处理...

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

    2. `%`:这个符号在给出的上下文中并没有直接体现,一般情况下,`%`在Java中用于计算模数或进行字符串格式化。在OGNL中,它可能被用来执行算术运算,但在这个特定的文档中,我们没有看到它的使用。 3. `$`:这个...

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

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

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

    综上所述,“#”、“%”和“$”这三个符号在OGNL表达式中的使用各有侧重。“#”主要用于访问不同作用域中的变量;“%”则是在XML配置文件中使用OGNL表达式的一种特殊语法;而“$”符号则主要用于模板文件中OGNL...

    % # $ 的区别 及用法

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

    #和$的区别

    例如,在JSP页面中使用`&lt;s:url value="%{#foobar['foo1']}"/&gt;`将计算`#foobar['foo1']`的值,并将其转换为URL。 ##### 3. **$符号的应用** - **国际化资源文件中的引用**: “$”主要用于国际化资源文件中引用OGNL...

    struts2中#号的用法

    本文将详细介绍`#`符号的使用方法及其应用场景,帮助读者更好地理解和掌握Struts2框架的相关知识。 #### 一、Struts2简介 Struts2是基于Struts1的基础上发展起来的一款开源Web应用框架,它使用MVC(Model-View-...

    Struts2 $,#,%详解及实例代码

    在Struts2中,`$`, `#`, `%`这三个符号在不同场景下有着特定的含义。这里我们将深入探讨它们在Struts2中的用法,并通过一个具体的实例代码来阐述。 首先,`$`符号在Struts2的表达式语言(OGNL,Object-Graph ...

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

    下面将详细解释这三个符号的用途。 1. `#` 符号: - **访问非根对象属性**:在STRUTS2中,ActionContext是默认的根对象,但如果你需要访问像Session这样的非根对象,你需要使用`#`前缀。例如,`#session.msg`表示...

    struts2 OGNL语言学习笔记

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

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

    本案例提供ognl使用详解,测试通过,只需解压放入自己WEB项目中,执行struts_ognl包内java文件即可(未提供jia包,若需要可以联系留言发至邮箱),若测试不好可以联系本人提供指导. ...主要是#、%和$这三个符号的使用;

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

    OGNL 表达式语言中使用了多种符号,包括 #、% 和 $ 符号。# 符号用于访问非根对象属性、过滤和投影集合、构造 Map 和 List 等。% 符号用于计算 OGNL 表达式的值。$ 符号用于在国际化资源文件中引用 OGNL 表达式和在 ...

    struts2 ognl的用法

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

    OGNL符号的使用

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

    FreeMark学习笔记

    ${week[2]} //输出第三个集合元素 此外,FreeMarker还支持返回集合的子集合,如果需要返回集合的子集合,则可以使用如下语法: week[3..5] //返回week集合的子集合,子集合中的元素是week集合中的第4-6个元素 3,输出Map...

    第五章struts2的标签库.pdf

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

    STRUTS2获得作用域、参数响应对象及三种符号说明

    ### STRUTS2获得作用域、参数响应对象及三种符号说明 #### 一、概述 在Struts2框架中,为了更好地管理Web应用程序中的请求、会话和应用范围的数据,Struts2提供了一系列的工具和机制。这包括了对`RequestMap`、`...

    struts2综合复习习题

    #### 一、Struts2标记库中迭代标签iterator的()方法是判断当前元素是否是第偶数个元素。 **答案解析:** - 正确答案为 **D.isEven**。 - Struts2中的`&lt;s:iterator&gt;`标签用于迭代集合中的元素。在迭代过程中,可以...

    struts2框架面试题及答案02

    根据给定的信息,我们将深入探讨Struts2框架中的一些核心概念,包括OGNL表达式的使用、ValueStack的理解及其数据存取方法,以及拦截器的生命周期等。 ### OGNL表达式及其三要素 #### OGNL简介 OGNL(Object-Graph ...

Global site tag (gtag.js) - Google Analytics