`
lj6684
  • 浏览: 965232 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

Struts2中ONGL表达式使用备忘

阅读更多

平时Struts2开发,常见在标签中使用OGNL表达式,将自己整理的一些使用原则记录在这里

 

1. 根对象

采用堆栈方式存储

访问根对象直接

Acttion对象默认会当做根对象放在栈中,直接取action对象的属性

<s:property value="username"/>

 

2. 上下文对象

采用Map方式存储

访问上下文对象必须以 # 开头

#request

#session

#param

#attr

以上都为默认上下文对象

ActionContext.getContext().put(key, value) -- value被存放在 #request['key']  or #request.key 中

ActionContext.getContext().getSession().put(key, value) --value被存放在 #session['key'] or #session.key 中

<s: property value="#request.username"/>

 

3. 关于表单元素的value

使用<s:.../>表单,如无特殊情况,只要设置name属性即可,未来如果Action中对应此name的属性有值,则会在表单中自动显示

如果有特殊情况,需要自己管理表单value的显示值,可以使用 EL表达式 或 OGNL表达式(推荐)

 

推荐使用OGNL表达式 %{},OGNL表达式通常写在表单元素内部

%{} 内写OGNL表达式,可以直接访问Actioin内的属性或方法

例如

<s:hidden name="user.name" value="%{username}"/>  -- 直接取Action中的username属性,并放置在Action中User属性的name属性上(有点绕)

 

EL表达式 ${} 通常写在表单元素外部

${username}

注意,如果EL表达式写在表单元素内部,会引发

According to TLD attribute directive in tag file, attribute value does not accept any expressions

好像通过开关能打开,但不推荐这么用

 

4. 关于逻辑判断表单中字符串比较的注意

<s:if test='str == "add"'></s:if>

说明:

在网上查到的,说ONGL中进行字符串比较时,目标字符串一定用双引号表达,否则可能会引发异常

为避免双引号冲突,标签本身属性表达可以用单引号

分享到:
评论

相关推荐

    struts2中ongl表达式的使用和具体实例应用

    ### Struts2中OGNL表达式的使用与具体实例解析 #### 一、OGNL概述 OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取或设置一个对象图中的属性值。它广泛应用于Struts2框架中,用于简化...

    struts2 中 OGNL表达式的使用

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

    ongl表达式

    ONGL(Object-NGram Language)表达式是一种在Java Web开发框架Struts中广泛使用的模板语言,主要用于视图层的构建。它允许开发者在JSP页面中嵌入Java代码,实现动态内容渲染。StrutsInterface可能是指与Struts框架...

    struts2中的ongl表达式相关简介

    ### Struts2中的OGNL表达式相关简介 #### OGNL概述 OGNL(Object-Graph Navigation Language,对象图导航语言)是Struts 2框架的默认表达式语言,它极大地增强了Struts 2的数据访问能力和代码简洁性。OGNL不仅能够...

    Struts2 使用OGNL表达式

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

    struts2 ongl包源码

    这个压缩包包含了Struts2中的ONGL包源码,对于理解Struts2的工作原理和深入学习OGNL的使用非常有帮助。 OGNL是Object-Graph Navigation Language的缩写,它的主要功能是在对象图中导航并执行操作。在Struts2中,...

    在Java的Struts框架中ONGL表达式的基础使用入门

    Java的Struts框架是SSH(Spring、Struts、Hibernate)三大Web开发框架之一,而ONGNL(Object-Graph Navigation Language)则是Struts2框架中核心的表达式语言,用于数据绑定和表达式求值。本篇文章将深入解析如何在...

    Struts2的ONGL详解

    很好的介绍ONGL的相关知识,一看就明白,对想学习struts2或ONGL的人来说是必需的

    struts2-OGNL表达式测试

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

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

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

    struts2 OGNL表达式使用

    struts2 OGNL表达式使用 OGNL(Object-Graph Navigation Language)是对象图导航语言,允许开发者在Struts2应用程序中访问和操作对象及其属性。下面是OGNL表达式的使用方法: 访问基本属性 1. 访问值栈中action的...

    Java struts2 ongl 标签 jsp页面

    在JSP页面中使用Struts2的OGNL标签,可以极大地提高开发效率和代码的可读性。例如,在提供的代码片段中,可以看到`&lt;%@ taglib prefix="s" uri="/struts-tags"%&gt;`引入了Struts2的标签库,这使得在JSP中可以方便地使用...

    精通struts2的ognl表达式

    - Struts2提供了一些内置的状态变量,这些变量可以直接在OGNL表达式中使用。 - 示例代码: ```xml ()"/&gt; ``` 6. **Lambda表达式** - Lambda表达式提供了一种简洁的方式来定义简单的函数或方法。 - 示例代码...

    struts2_OGNL表达式ActionContext及valuesStack

    Struts2 是一个流行的Java Web框架,它广泛使用OGNL(Object-Graph Navigation Language)作为其默认的表达式语言。OGNL 提供了一种强大的方式来访问和操作Java对象的属性,使得在视图层的表示更加简洁和高效。本文...

    struts2 OGNL 表达式及各种标签的使用

    - 在Struts2的Action类中,可以使用OGNL表达式来动态地处理请求参数,如`String name = (String)params.get("user.name");` - 在JSP页面上,使用OGNL标签显示和处理数据,如`管理员界面&lt;/s:if&gt;`。 通过理解并熟练...

    struts2 OGNL表达式

    2. **Struts2动作和结果**:如何在配置文件中使用OGNL定义Action和结果。 3. **JSP标签库**:Struts2提供的JSP标签库,如`s:property`、`s:iterator`等,它们内部使用了OGNL。 4. **安全问题**:理解OGNL注入的风险...

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

    在JSP中,你可以直接在OGNL表达式中使用这些运算符,以实现动态内容的显示。 除了基本的属性访问,OGNL还支持Map和集合的操作。对于Map,可以使用`map[key]`来获取或设置值;对于集合,可以使用索引来访问元素,如`...

    el和ongl表达式学习

    EL表达式通常在JSF组件的属性中使用,以便动态地获取或设置值。例如,`#{bean.property}` 这样的表达式会查找名为`bean`的JavaBean对象,并尝试访问其`property`属性。 EL具有以下主要特性: 1. **简化的对象访问**...

    帮助文档jQuery1.8+struts标签+正则表达式全中文

    文档将详细解析如何在JSP页面中使用Struts标签,如`&lt;s:textfield&gt;`用于创建输入字段,`&lt;s:submit&gt;`用于提交表单,`&lt;s:actionerror&gt;`显示错误消息,以及`&lt;s:if&gt;`和`s:else`进行条件判断等。通过学习这些标签,你可以...

Global site tag (gtag.js) - Google Analytics