对于取pageContext、parameters、request、session、application 等处的属性值(假如有 name 属性)时我们用的 EL 表达式分别是:
${pageScope.name}、${param.name}、{$requestScope.name}、{$sessionScope.name}、{$applicationScope.name}
那么对应的 OGNL 的解决方案分别是:
<s:peroperty value="#attr.name"/>
<s:property value="#parameters.name"/>
<s:property value="#request.name"/>
<s:property value="#session.name"/>
<s:property value="#application.name"/>
<s:textfield name="name" value="%{#parameters.name}"/>
说明,attr 如果可以访问到,则访问 pageContext,否则将 依次搜索 pageContext、request、session、application 相应值,所以可用来访问 pageContext 中的值,可替代 EL 的 ${pageScope.name}。
--EOF--
分享到:
相关推荐
除了基本的属性访问和方法调用,OGNL还支持对象图的遍历,类型转换,以及动态方法调用等高级特性。OGNL的表达式语法简洁且一致,使得代码可读性更强。 **OGNL的应用实例** 在Web开发框架如Struts 2中,OGNL作为...
在Struts2框架中,OGNL(Object-Graph Navigation Language)和EL(Expression Language)都是用于数据绑定和表达式处理的重要工具,它们在处理视图层与模型层的数据交互方面发挥着关键作用。理解这两者的差异有助于...
在Struts2框架中,理解并正确使用request、response、session和application范围对于有效地管理数据和状态至关重要。这些范围帮助我们在Web应用程序中实现逻辑和数据流的分离,提高代码的可维护性和可扩展性。通过...
WebWork教程-表达式与言EL和OGNL- babydavic(王汉祥)的专栏- CSDNBlog.zipWebWork教程-表达式与言EL和OGNL- babydavic(王汉祥)的专栏- CSDNBlog.zip
总结来说,Struts2提供了多种途径来访问和管理request、session和application的数据,包括ActionContext、ValueStack、OGNL和拦截器。掌握这些方法将有助于提高开发效率和代码质量,同时也能更好地理解和优化基于...
详细介绍了这两者的区别,不太清楚的同学可以看看
在示例代码中,`<s:property>`标签使用OGNL表达式`#request.req`、`#session.sess`和`#application.app`分别获取了Request、Session和Application范围内的属性值。这展示了OGNL如何灵活地访问不同级别的数据。 其次...
### OGNL表达式的理解和应用 #### 一、OGNL简介与基本概念 OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取和设置Java对象的属性。它是Struts2框架中的默认表达式语言,同时也被广泛...
就需要使用`#`前缀,例如`#application['userName']`、`#session['userName']`、`#request['userName']`分别对应于应用上下文、会话上下文和请求上下文的属性。 此外,`parameters`对象用于访问HTTP请求参数,`attr...
OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取和设置Java对象的属性。它被广泛应用于Struts2框架中,用来简化对JavaBean的访问。 #### 二、访问上下文中的对象 在Struts 2中,若要...
- 在Struts2中,使用`#`符号可以访问特定的数据上下文,如`request`、`parameters`、`session`和`application`。例如,`#request`代表请求范围内的变量,`#session`则表示session范围内的变量。 - 当访问根对象...
3. **与 Web 框架集成:** WebWork2 和 Struts2.x 等框架采用了 OGNL 作为默认的表达式语言来替代传统的 EL(Expression Language)。这不仅提高了开发效率,还简化了表单字段的处理过程。 **应用示例:** - 在 ...
OGNL,全称为Object-Graph Navigation Language,是一种强大的开源表达式语言,主要用于便捷地操作对象的属性和方法。在Struts2框架中,OGNL作为默认的表达式语言发挥着核心作用,允许开发者以简洁的方式访问和修改...
例如,`#request`、`#session`和`#parameters`分别代表请求、会话和参数范围内的对象。此外,`#`还可以用来引用OGNL表达式中的静态字段,如`#{java.lang.Math.random()}`。 2. `%`:在OGNL中,百分号`%`通常不直接...
例如,`<s:textfield name="user.name" />`,这里的`name`属性就是一个OGNL表达式,它将尝试在Action对象中找到`user`属性,然后进一步获取`name`属性的值。 总的来说,深入理解OGNL对于提升Struts2应用的开发效率...
4. 命名对象:包括在Servlet作用范围内的对象信息,如Request、Session、Application等。 在实际开发中,开发者可以通过OGNL表达式访问值栈中的Action属性、对象和其他信息。例如,使用标签可以输出Action中的属性...
### Struts2中OGNL的概念及原理说明 #### 一、OGNL表达式的基本用法与特点 ...综上所述,OGNL和EL表达式在Struts2框架中扮演着重要角色,掌握这些概念和技巧有助于开发者更加高效地进行Web应用程序的开发。
在Action方法执行期间,Action上下文包含了请求、响应、session、application等对象,以及Struts2的一些内部信息,如ActionMapping、ValueStack等。Action上下文中的ValueStack是存放Action实例和其它对象的地方,它...