`

struts2中ognl的使用

阅读更多

struts2中ognl(Object Graph Navigation Laguage)的使

一,访问普通的属性和方法

1,访问值栈中的action的普通属性值

<s:property value="name"/>

 

2,访问值栈中对象的普通属性(get set方法)

user.xxx只有传,才会构造,

想初始化domain model,

可以自己new,User=new User();Use u = new User(9);

也可以传参数值,?user.age=9

但这时候需要保持参数为空的构造方法public User(){......}

<s:propery value="user.age"/>

 

3,访问值栈中对象的普通方法  password.length()

 

4,访问值栈中对象的普通方法  cat.miaomaio()

 

5,访问值栈中action的普通方法  m()

 

二,访问静态的属性和方法

 

1,访问静态的属性

@类名.@属性

 

2,访问静态的方法

@类名.@方法名

 

3,访问Math类的静态方法:

<s:property value="@@max(2,3)" />

 

三,访问普通类的构造方法:

访问普通类的构造方法:<s:property value="new com.struts2.ognl.dao.User(8)"/>

 

四,访问集合类

 

    访问List:<s:property value="users"/><br/>

访问List中某个元素:<s:property value="users[1]"/><br/>

访问List中元素某个属性的集合:<s:property value="users.{name}"/><br/>

访问List中元素某个属性的集合中的特定值:

<s:property value="users.{name}[0]"/> | <s:property value="users[0].name"/><br/>

访问Set:<s:property value="dogs"/><br/>

访问Set中某个元素:<s:property value="dogs[1]"/><br/>

访问Map:<s:property value="dogMap"/><br/>

访问Map中某个元素:<s:property value="dogMap.dog101"/> | <s:property value="dogMap['dog101']"/> | <s:property value="dogMap[\"dog101\"]"/><br/>

访问Map中所有的key:<s:property value="dogMap.keys"/><br/>

访问Map中所有的value:<s:property value="dogMap.values"/><br/>

访问容器的大小:<s:property value="dogMap.size()"/> | <s:property value="users.size"/> <br/>

 

五,投影(过滤)

 

投影(过滤):<s:property value="users.{?#this.age==1}[0]"/>

投影:<s:property value="users.{^#this.age>1}.{age}"/>

投影:<s:property value="users.{$#this.age>1}.{age}"/>

投影:<s:property value="users.{$#this.age>1}.{age} == null"/>


六,通过[]访问

[]:<s:property value="[0]"/><br/>

<s:property value="[0].user.name"/>

  • OGNL.rar (3 MB)
  • 描述: 参考源代码
  • 下载次数: 5
分享到:
评论

相关推荐

    struts2中OGNL使用源自javaWeb编程王者归来

    在这个实例中,我们将深入探讨如何在Struts2中使用OGNL来获取Servlet对象的值、筛选集合中的对象,以及理解OGNL表达式的生命周期。 首先,让我们了解OGNL的基本语法。OGNL允许我们通过点号(.)和方括号([])来...

    struts2 中 OGNL表达式的使用

    struts2 中 OGNL表达式的使用struts2 中 OGNL表达式的使用

    struts2中的OGNL的源码

    其中,OGNL(Object-Graph Navigation Language)是Struts2中的核心表达语言,用于在视图层与模型层之间传递数据。在深入理解OGNL的源码之前,我们首先需要了解OGNL的基本概念和用法。 OGNL是一种强大的表达式语言...

    Struts2 使用OGNL表达式

    这篇博客文章可能详细探讨了如何在Struts2中使用OGNL来传递和操作数据。 OGNL是Struts2的核心组件之一,它允许开发者通过简单的字符串表达式来访问和修改对象的属性,甚至可以处理复杂的对象结构。以下是一些关于...

    struts2_OGNL Demo

    这个项目旨在帮助开发者理解和学习如何在Struts2中使用OGNL来操纵对象和数据。OGNL是Struts2中一个重要的组件,它允许在视图层和控制层之间传递和操作数据。 首先,我们来看`.classpath`、`.mymetadata`、`.project...

    Struts2_OGNL

    OGNL(Object-Graph Navigation Language)是Struts2框架中的一个重要组件,用于在Web应用中访问和操作Java对象的属性,调用其方法,以及执行类型转换等操作。 OGNL是对象图导航语言的缩写,它是一种功能强大的...

    struts2 ognl用法项目

    在Struts2中,OGNL用于处理动作类的属性到JSP页面的传递,以及用户输入到动作类的绑定。 首先,让我们了解OGNL的基本语法。OGNL表达式通常包含两个部分:对象引用和属性访问。例如,`user.name`表示获取名为`user`...

    很全面的struts2_ognl总结

    OGNL(Object-Graph Navigation Language)是一种基于 Java 的表达式语言,Struts2 框架中使用 OGNL 来访问和操作 ValueStack 中的对象。在 Struts2 中,OGNL 是一个强大的工具,允许开发者访问和操作 ValueStack 中...

    Struts2之Ognl详解案例TextOgnl

    在Struts2中,OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取和设置对象的属性。这篇博客将深入探讨OGNL在Struts2中的应用,并通过案例"TextOgnl"来展示其工作原理。 一、OGNL的基本...

    struts2 标签 OGNL

    在Struts2中,OGNL被广泛用于访问Action中的属性,以及在视图层(如JSP)中绑定和操作数据。 首先,OGNL使得访问对象属性变得非常直观。它支持点符号(.)和方括号([''])两种方式来访问属性。例如,如果在Action...

    Struts2 的OGNL使用简介

    以上内容仅是OGNL在Struts2中使用的一个简单介绍,实际上,OGNL的功能远不止这些。在深入学习和使用Struts2时,掌握OGNL的高级特性,如表达式操作、上下文变量、类型转换等,将有助于提高开发效率和代码的灵活性。在...

    Struts2核心包ognl-2的源代码

    Struts2将ActionContext与OGNL结合,使得请求参数可以直接在表达式中使用。 5. **安全特性**:在Struts2中,OGNL的不当使用可能导致安全漏洞,如著名的Struts2 OGNL注入攻击。源代码中包含了对这种风险的防护措施,...

    struts2 ognl的用法

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

    struts2对Ognl的封装--PropertyAccessor

    在压缩包文件`struts-ognl.asta`中,可能包含了一些示例或测试用例,用于演示Struts2中PropertyAccessor的使用和功能。你可以通过分析这些文件来更深入地理解PropertyAccessor的工作原理。 总结起来,"struts2对...

    struts2-OGNL表达式测试

    这个“struts2-OGNL表达式测试”可能是一个测试项目或代码示例,旨在演示如何在Struts2应用中使用OGNL表达式。 OGNL是Struts2的核心组件之一,它允许开发者通过简单的字符串表达式来获取或设置对象的属性。这使得视...

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

    - `$`:用于标识EL表达式,同时在Struts2配置中使用OGNL表达式时也会用到。 - `%`:用于将OGNL表达式转换为普通字符串或者将普通字符串转换为OGNL表达式。 - `#`:用于获取`ActionContext`中的数据或在OGNL表达式中...

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

    在Struts2中,OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取和设置对象的属性。这篇博客将深入探讨OGNL表达式的理解和用法。 OGNL的全称是对象图导航语言,它的主要功能是在对象模型...

Global site tag (gtag.js) - Google Analytics