`

ognl表达式笔记

 
阅读更多
<li>访问值栈中的action的普通属性: username = <s:property value="username"/> </li>
		<li>访问值栈中对象的普通属性(get set方法):<s:property value="user.age"/> | <s:property value="user['age']"/> | <s:property value="user[\"age\"]"/> | wrong: <%--<s:property value="user[age]"/>--%></li>
		<li>访问值栈中对象的普通属性(get set方法): <s:property value="cat.friend.name"/></li>
		<li>访问值栈中对象的普通方法:<s:property value="password.length()"/></li>
		<li>访问值栈中对象的普通方法:<s:property value="cat.miaomiao()" /></li>
		<li>访问值栈中action的普通方法:<s:property value="m()" /></li>
		<hr />
		<li>访问静态方法:<s:property value="@com.bjsxt.struts2.ognl.S@s()"/></li>
		<li>访问静态属性:<s:property value="@com.bjsxt.struts2.ognl.S@STR"/></li>
		<li>访问Math类的静态方法:<s:property value="@@max(2,3)" /></li>
		<hr />
		<li>访问普通类的构造方法:<s:property value="new com.bjsxt.struts2.ognl.User(8)"/></li>
		<hr />
		<li>访问List:<s:property value="users"/></li>
		<li>访问List中某个元素:<s:property value="users[1]"/></li>
		<li>访问List中元素某个属性的集合:<s:property value="users.{age}"/></li>
		<li>访问List中元素某个属性的集合中的特定值:<s:property value="users.{age}[0]"/> | <s:property value="users[0].age"/></li>
		<li>访问Set:<s:property value="dogs"/></li>
		<li>访问Set中某个元素:<s:property value="dogs[1]"/></li>
		<li>访问Map:<s:property value="dogMap"/></li>
		<li>访问Map中某个元素:<s:property value="dogMap.dog101"/> | <s:property value="dogMap['dog101']"/> | <s:property value="dogMap[\"dog101\"]"/></li>
		<li>访问Map中所有的key:<s:property value="dogMap.keys"/></li>
		<li>访问Map中所有的value:<s:property value="dogMap.values"/></li>
		<li>访问容器的大小:<s:property value="dogMap.size()"/> | <s:property value="users.size"/> </li>
		<hr />
		<li>投影(过滤):<s:property value="users.{?#this.age==1}[0]"/></li>
		<li>投影:<s:property value="users.{^#this.age>1}.{age}"/></li>
		<li>投影:<s:property value="users.{$#this.age>1}.{age}"/></li>
		<li>投影:<s:property value="users.{$#this.age>1}.{age} == null"/></li>
		<hr />
		<li>[]:<s:property value="[0].username"/></li>



分享到:
评论

相关推荐

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

    在示例代码中,`&lt;s:property&gt;`标签使用OGNL表达式`#request.req`、`#session.sess`和`#application.app`分别获取了Request、Session和Application范围内的属性值。这展示了OGNL如何灵活地访问不同级别的数据。 其次...

    OGNL笔记

    开发过程中,有一些工具可以帮助我们更好地使用OGNL,例如表达式测试工具,可以在不涉及整个项目环境的情况下测试OGNL表达式的正确性。还有一些IDE插件提供语法高亮和自动完成,提升开发效率。 总的来说,OGNL是...

    Struts2_OGNL 笔记

    例如,`&lt;s:property value="xx" /&gt;`标签中的`value="xx"`就是一个OGNL表达式,用于显示对象`xx`的值。 2. OGNL的关键符号: 在OGNL中,`#`、`%`和`$`有特定含义: - `#`:用于访问上下文对象,例如`#request`、`#...

    struts2 OGNL语言学习笔记

    Struts2 OGNL语言学习笔记 OGNL(Object-Graph Navigation Language)是 Struts 2 中的一种表达式语言,主要用于简化 JSP 页面中的编码,使页面与后台代码分离。下面是 OGNL 语言的主要特点和用法: 1. 支持对象...

    struts2 ognl

    在Struts2中,OGNL还被用作默认的表示层语言,这意味着在视图层(如JSP)可以直接使用OGNL表达式来动态地显示数据。例如,`&lt;s:property value="%{user.name}" /&gt;`会输出`user`对象的`name`属性值。这种特性使得...

    OGNL源代码以及个人笔记

    OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取和设置Java对象的属性。它是开源的,被广泛应用于各种Java应用框架,如Struts2和Spring MVC,用于在视图层进行数据绑定。这个压缩包包含...

    Ognl_JSTL_学习笔记.zip

    这样,开发者可以在JSP页面上直接使用Ognl表达式来显示动态数据,而无需在JSP页面中混杂大量的Java代码。 **学习笔记中的关键点** 1. **OGNL基础**:理解OGNL的基本语法,包括属性访问、方法调用、集合操作和类型...

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

    OGNL表达式通常以`#`开头,用于引用对象,如`#request`、`#session`或`#application`等。访问对象的属性使用点号`.`,例如`#request.user.name`。数组和集合的索引访问使用方括号`[]`,如`#array[0]`。 2. **...

    赵栋struts2 笔记

    通过Ognl表达式,可以访问Action类的属性,即使属性名称相同,Ognl会从栈顶开始查找,找到第一个匹配的属性值。 6. **数据存取**: 使用`#`符号在Ognl表达式中表示Map集合,这样可以明确区分对象栈和Map。例如,`#...

    传智168期JavaEE struts2杜宏 day32~day33笔记

    - **ValueStack的作用**:主要负责将Action对象的数据携带到页面,并通过OGNL表达式获取这些数据。 - **ValueStack的实现**:ValueStack有一个实现类叫做OgnlValueStack。 - **ValueStack的生命周期**:与HTTP请求的...

    【张冰Struts2学习笔记】0202_Struts2的三种接收用户输入的方法

    Struts2基于OGNL(Object-Graph Navigation Language)表达式语言,可以直接在Action方法的参数中使用ognl表达式来获取表单数据。这种方式更加灵活,可以处理动态或复杂的表单数据。 ```java public class ...

    北京圣思园Struts2 全套笔记 课件 详解

    学习者将能够了解Struts2的架构,学会如何创建Action,配置struts.xml,编写拦截器,使用OGNL表达式,以及如何处理异常和实现视图的多样化。此外,课程可能还会涉及Struts2的安全问题和最佳实践,如防止XSS、CSRF等...

    struts学习笔记(4)

    ### Struts 学习笔记(4):深入理解 OGNL 表达式与 Struts2 标签 #### 一、OGNL 表达式简介 **OGNL**(Object Graph Navigation Language)是一种功能强大的表达式语言,在 Struts2 框架中扮演着非常重要的角色。...

    Java相关课程系列笔记之十三Struts2学习笔记.doc

    Struts2作为Java Web开发的重要框架,其强大的MVC实现、OGNL表达式以及丰富的插件机制,使得开发者能够高效地构建Web应用程序。通过学习Struts2,我们可以更好地理解和实践MVC模式,提高项目的可维护性和扩展性。在...

    Java相关课程系列笔记之十三Struts2学习笔记

    Struts2是在Struts1的基础上进行改进的,吸取了其他框架的优点,如WebWork,提供了更强大的拦截器、OGNL表达式语言等特性。 1.5 衡量一个框架的标准 包括易用性、灵活性、性能、社区支持、文档完善度等。 1.6 ...

    struts2 学习重点笔记

    - Struts2 还提供了标签库和 OGNL 表达式语言用于视图层的展示。 **2.4 拦截器(Interceptor)** - **作用**:在业务 Action 执行前后进行一系列的操作,如验证、数据填充等。 - **类型**: - **默认拦截器栈**:...

    struts2.1.8学习笔记

    6. **OGNL表达式**:OGNL是一种强大的表达式语言,用于在Struts2中获取和设置对象属性。在视图层,开发者可以使用OGNL表达式来动态地访问和操作值栈中的数据。 7. **Tiles插件**:Struts2.1.8支持Tiles框架,允许...

    struts2学习笔记

    - 示例:`&lt;property value="Ognl表达式"/&gt;` - **** 标签:用于遍历集合。 - 示例:`&lt;iterator value="Ognl表达式"&gt;` 每次迭代时,当前元素都会被放置到 **ValueStack** 中,以便在循环体中使用。 - **** 等标签:...

    struts2四天的学习笔记

    13. ** strut2四天笔记**:这份学习笔记可能涵盖了以上所有知识点,包括如何创建Action,配置struts.xml,使用OGNL表达式,处理异常,以及实践中的各种技巧和最佳实践。 在四天的学习过程中,你应该通过实践和理解...

    圣思园struts2笔记

    张龙老师可能解释了如何在JSP页面中使用OGNL表达式来显示或接收表单数据。 Lesson 4可能涵盖Struts2的拦截器深入学习。拦截器是Struts2的核心特性,它们允许开发者插入自定义的逻辑在Action调用之前或之后执行。...

Global site tag (gtag.js) - Google Analytics