`

OGNL表达式操作集合对象

 
阅读更多

 

采用OGNL表达式创建List/Map集合对象
 
如果需要一个集合元素的时候(例如List对象或者Map对象),可以使用OGNL中同集合相关的表达式。
使用如下代码直接生成一个List对象:
 <s:set name="list" value="{'zhangming','xiaoi','liming'}" />
<s:iterator value="#list" id="n">
<s:property value="n"/><br>
</s:iterator>
生成一个Map对象:
<s:set name="foobar" value="#{'foo1':'bar1', 'foo2':'bar2'}" />
<s:iterator value="#foobar" >
<s:property value="key"/>=<s:property value="value"/><br>
</s:iterator>
Set标签用于将某个值放入指定范围
scope:指定变量被放置的范围,该属性可以接受applicationsessionrequest pageaction。如果没有设置该属性,则默认放置在OGNL Context中。
value赋给变量的值.如果没有设置该属性,则将ValueStack栈顶的值赋给变量。
 
采用OGNL表达式判断对象是否存在于集合中
 
对于集合类型,OGNL表达式可以使用innot in两个元素符号。其中,in表达式用来判断某个元素是否在指定的集合对象中;not in判断某个元素是否不在指定的集合对象中,如下所示。
in表达式:
<s:if test="'foo' in {'foo','bar'}">
  
</s:if>
<s:else>
   不在
</s:else>
not in表达式:
<s:if test="'foo' not in {'foo','bar'}">
   不在
</s:if>
<s:else>
  
</s:else>
分享到:
评论

相关推荐

    JS:ognl表达式

    ### JS:ognl表达式详解 #### 一、OGNL表达式概述 OGNL (Object-Graph Navigation Language) 是一种强大的表达式语言,用于获取和设置 Java 对象的属性。它最初是由 John Rose 和 Luke Blanshard 开发,并被广泛...

    OGNL表达式

    5. **操作集合对象**:OGNL提供了强大的集合操作功能,使得处理列表、数组等数据结构变得非常简便。 #### 三、OGNL表达式的应用场景 在实际开发中,OGNL表达式主要应用于以下几个方面: - **页面展示**:在JSP...

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

    本案例提供ognl使用详解,测试通过,只需解压放入自己WEB项目中,执行struts_ognl包内java文件即可(未提供jia... 5、操作集合对象 用法:OGNL是通常要结合Struts 2的标志一起使用。主要是#、%和$这三个符号的使用;

    Struts2 使用OGNL表达式

    1. **基础语法**:OGNL表达式的格式通常为`object.property`或`object[index]`,用于访问对象的属性或数组/集合的元素。例如,`user.name`将获取名为`user`的对象的`name`属性。 2. **动态属性**:OGNL支持动态属性...

    Struts2深入学习----OGNL表达式原理

    OGNL表达式的基本语法包括点号`.`操作符和索引`[]`操作符,用于访问对象的属性和数组/集合元素。例如,`person.name`会访问`person`对象的`name`属性,而`list[0]`则会获取`list`集合的第一个元素。 在Struts2中,...

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

    总结来说,Struts2中的OGNL表达式是连接模型和视图的关键工具,它提供了一种强大且灵活的数据访问和操作方式。通过熟练掌握OGNL,开发者可以更高效地构建和维护Struts2应用,同时要注意防止潜在的安全风险。在实际...

    ognl表达式

    值栈是一个LIFO(后进先出)的数据结构,顶部的对象称为“顶级动作”对象,可以通过OGNL表达式直接访问。 **OGNL的主要特性** 1. **动态类型**:OGNL支持动态类型,不需要预先声明变量的类型,可以自动推断。 2. ...

    ognl表达式案例

    总的来说,这个案例将帮助我们理解如何在Struts2中使用OGNL表达式来实现数据的展示和操作,以及如何通过Struts2的标签库更好地利用OGNL的功能。通过学习和实践,开发者可以提高Web应用程序的可维护性和灵活性。

    OGNL表达式2讲

    总结,"OGNL表达式2讲"是一个深入学习OGNL表达式的资源,涵盖了OGNL的基本语法、与标签的配合、集合操作、上下文访问以及安全性考虑。通过案例学习,有助于开发者更好地理解和应用OGNL在实际项目中的功能。记得下载...

    Struts2的标签库及OGNL表达式语言

    本篇文章将详细探讨Struts2中的OGNL表达式语言以及标签库。 **OGNL(对象图导航语言)** OGNL是一种强大的表达式语言,它允许开发者通过简洁的语法来访问和操作对象的属性。在Struts2框架中,OGNL扮演着至关重要的...

    struts2 ognl表达式

    Struts2 OGNL表达式是Java Web开发中一个重要的概念,它是一种强大的对象图形导航语言(Object-Graph Navigation Language)。在Struts2框架中,OGNL被广泛用于视图层,作为数据绑定的主要手段,使得开发者能够方便...

    struts2-OGNL表达式测试

    在“struts2-OGNL表达式测试”中,你可能会看到各种OGNL表达式的使用示例,比如访问和修改对象属性、动态调用方法、处理集合和执行条件判断等。通过这些测试,你可以更好地理解和掌握OGNL在实际开发中的运用,确保在...

    struts2 OGNL表达式

    这里的`${user.name}`就是一个OGNL表达式,它会查找Action上下文中的`user`对象,并返回其`name`属性的值。 OGNL的强大之处在于它支持丰富的语法,如链式访问、集合操作、动态方法调用等。例如,你可以直接访问嵌套...

    struts2标签和OGNL表达式.pdf

    OGNL表达式提供了简洁的语法来访问和操作对象图,支持对象方法的调用、集合的选择和过滤、字符串格式化、基本类型和运算符的操作。 在Struts2中,OGNL被用于处理各种对象,包括值栈(Value Stack)、请求、会话、...

    struts2中ognl表达式的理解和用法

    攻击者可以通过构造恶意的OGNL表达式,执行未授权的操作。因此,在使用Struts2时,必须对用户输入进行严格的校验和过滤,避免暴露这种安全隐患。 五、优化与最佳实践 1. 避免在视图层使用过于复杂的OGNL表达式,以...

    ognl表达式的用法

    理解OGNL表达式的关键在于熟悉其语法和它如何与Java对象交互。OGNL支持点号`.`和方括号`[]`操作符来访问对象的属性和数组元素,以及调用方法。此外,OGNL还可以执行基本的数学运算、条件判断、集合操作等复杂逻辑。 ...

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

    “$”符号在Struts2中主要用作OGNL表达式的起始标记,在模板文件(如JSP页面)中,它用于指示Struts2框架应该解析为OGNL表达式。 1. **模板文件中的应用**: - 示例:`reg.ageRange = $ {min} 到 $ {max}` - 解释...

    OGNL表达式的使用及文档

    1. **表达式语法**:OGNL表达式通常由对象名、点号和属性名组成,例如`user.name`,表示获取`user`对象的`name`属性。也可以通过索引访问集合元素,如`list[0]`。 2. **上下文(Context)**:在OGNL中,上下文包含...

    struts2 OGNL表达式使用

    struts2 OGNL表达式使用 OGNL(Object-Graph Navigation ...通过这些示例,我们可以看到OGNL表达式的强大功能,它可以访问和操作对象及其属性,静态方法和属性,Math类的属性,普通类的构造方法,以及容器中的元素。

Global site tag (gtag.js) - Google Analytics