`

Struts2中OGNL表达式与EL表达式

 
阅读更多

  EL表达式应用于JSP中,其格式是 ${表达式}。

  OGNL表达式应用于Strtus2中(Struts2的自定义标签中、struts.xml...), 应用于Struts2的自定义标签的属性值中 %{表达式},在 struts.xml中 使用${表达式}方式,自定义标签的属性值中使用%,struts.xml中 使用$符号,原因是在JSP中使用$符号与EL相冲突,
   语法:
   %{name}取值栈中的值
   %{#name}取值栈中Map中的值
   %{#user.name}取值栈中Map中的值
   #{'k':'v', 'k2':'v2'}定义一个Map
   {'e1', 'e2'}定义一个List

 

    %{ #{'k':'v', 'k2':'v2'} }Struts2的自定义标签的属性值中 定义一个Map

   注意:在Struts2自定义标签的属性值中 ,有的标签需要使用%符号,也有的不需要,具体看实践操作,但如果都加上%符号,也不会出错。但有一些值中需要特殊指定需要计算OGNL表达式的地方,如链接中,不使用%符号的地方则不需要计算OGNL:

       <s:a action="userAction_delete?id=%{id}" onclick="return delConfirm()">删除</s:a>
        <s:a action="userAction_editUI?id=%{id}">修改</s:a>

分享到:
评论

相关推荐

    struts2-OGNL表达式测试

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

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

    本文将深入探讨如何在Struts2中有效地使用OGNL表达式。 首先,OGNL是Struts2的核心组成部分,它允许开发者在Action类和JSP页面之间灵活地传递和访问数据。在Action类中,你可以设置属性,然后在JSP页面上通过OGNL...

    ognl表达式 ognl表达式

    在Struts2框架中,OGNL表达式被广泛应用于视图层,比如在JSP页面中用来获取数据。OGNL表达式的语法简洁明了,例如: - **直接调用方法**:`xxx.sayHello()`。 - **访问静态方法和常量**:`@java.lang.String@format...

    表达式与言EL和OGNL

    当用户提交数据时,OGNL表达式会将数据保存到栈顶的对象中。完成业务逻辑后,栈顶的对象可以通过OGNL表达式获取并展示结果。 以下是一个简单的示例,演示了如何使用`OgnlValueStack`: ```java // 创建Action对象 ...

    OGNL表达式

    - **$**:在JSP页面中表示EL表达式的开头,但在Struts2中通常不直接使用,而是通过#符号配合使用。 #### 五、示例代码详解 为了更好地理解OGNL表达式的使用,我们来看一个具体的示例。假设我们在开发一个简单的Web...

    struts2标签和OGNL表达式.pdf

    Struts2的值栈(Value Stack)是一个重要的概念,它用于存储Action中的数据,并且在JSP页面中通过OGNL表达式访问。值栈采用栈的形式组织数据,因此可以按照先进后出的原则对数据进行存取。在ActionContext中可以获取...

    struts2标签和OGNL表达式

    在Struts2中,OGNL表达式通常与Struts标签结合使用,如`s:property`标签,用于显示对象的属性值。例如,`&lt;s:property value="name"/&gt;`将显示栈顶对象的"name"属性值。栈顶对象是指在ValueStack(值栈)中位于最顶层...

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

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

    Struts2-OGNL.rar_ognl

    在Struts2框架中,OGNL作为默认的数据绑定和表达式语言,用于在Action类的属性与视图层(如JSP)之间传递数据。 2. OGNL的基本语法: OGNL支持多种操作,包括访问对象属性、调用方法、数组和集合操作、算术运算等...

    struts2.0中的ognl

    2. 视图渲染:在JSP页面中,我们可以通过OGNL表达式来访问Action对象的属性,动态地生成HTML内容,增强了页面的灵活性。 3. 动态方法调用:OGNL支持动态方法调用,允许开发者根据运行时的条件选择调用哪个方法,增加...

    OGNL表达式语言.txt

    OGNL表达式语言: 相对EL表达式,它提供了平时我们需要的一些功能,如: ? 支持对象的方法调用 ,如 xxx.sayHello(); ? 支持类静态方法调用和值的访问,表达式的格式为@[类全名]@[方法名|值名],例如:@java....

    struts2中的ognl

    - 如果某些Struts2标签不支持OGNL表达式,可以通过`%{}`包裹OGNL表达式,使它们能够识别并执行。 8. **Struts2标签与OGNL**: - `&lt;s:set&gt;`标签常用来设置值栈中的变量。 - `&lt;s:iterator&gt;`将当前迭代对象置于栈顶...

    Struts2的OGNL详解

    OGNL是Struts2的核心特性之一,Struts2使用OGNL来替代原先的EL表达式语言。Struts2将OGNL作为一个库集成到项目中,这使得Struts2在处理表单字段(如text field、hidden)方面更加灵活。与Struts1.x中的form bean相比...

    第四章:struts2中的OGNL.ppt

    在Struts2中,OGNL的主要作用是处理Action对象与视图之间的数据交换。例如,我们可以直接在表单中使用`user.username`来传递Action中的user对象的username属性,或者在`s:property`标签中用`user.username`来显示...

    struts2中的OGNL.ppt

    Struts2的一个关键特性就是它可以对Action携带的数据进行读写访问,例如在前面我们在表单中使用user.username指定数据传递给Action的user对象的username属性,在元素中使用user.username来获取用户的名字,这是通过...

    struts2 ognl

    2. **EL表达式与OGNL的混合**:在JSP中,EL表达式和OGNL可以混合使用,但EL表达式仅限于页面作用域,而OGNL可以访问更广泛的上下文。 3. **动态方法调用**:OGNL允许动态调用对象的方法,这对于处理不确定方法名的...

    struts2中ognl的源代码

    OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言(Expression Language,简称为EL),通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,...

    ognl和el区别

    在Struts2框架中,OGNL(Object-Graph Navigation Language)和EL(Expression Language)都是用于数据绑定和表达式处理的重要工具,它们在处理视图层与模型层的数据交互方面发挥着关键作用。理解这两者的差异有助于...

    Struts2核心包

    ognl-3.0.jar:对象图导航语言(Object Graph Navigation Language),它是一种功能强大的表达式语言(Expression Language,简称为EL),通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,...

Global site tag (gtag.js) - Google Analytics