`
haiziwoainixx
  • 浏览: 415108 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

struts2 ongl

阅读更多

OGNL is the Object Graph Navigation Language

1. struts2利用内建的OGNL表达式支持,大大加强了Struts2的数据访问功能,

    XWork在原有的OGNL基础上,增加了对ValueStack的支持。

2.OGNL表达式可以直接生成一个集合(List ,Map

    2.1 直接生成List集合的语法为: {e1, e2, e3}

    2.2 直接生成Map的语法为 #{key1:value1, key2:value2,....}

    2.3 对于集合,OGNL提供了两个元素符: in , not in

        in判定某个元素是否在指定的集合中, not in 判定某个元素是否不在指定的计划中

       

        <s:if test="'foo' in {'foo','bar'}">

            包含

        </s:if>

        <s:else>

            不包含

        </s:else>

 

 

访问值栈中元素: name =

            <s:property value="username" />

            , password=

            <s:property value="pwd" />

            <br />

 

           

            访问值栈中对象的属性:

            <s:property value="userInfo.name" />,

            <s:property value="userInfo['name']" />,

            <s:property value="userInfo[\"age\"]"/>

 

            <br />

           

            OGNL is the Object Graph Navigation Language

            <br />

            <s:property value="userInfo.dogs.size()"/><br/>

       

            访问值栈中对象的方法:

            <s:property value="userInfo.getName()" />

            <br />

       

   

 

            访问值栈中action的方法:直接写Action的方法名

            <s:property value="sayHello()" />

            <br />

 

首先配置:

    <constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>

 

        <li>

            访问静态方法:struts.ognl.allowStaticMethodAccess设为"true" <br/>

            <s:property value="@com.pk.util.TimeHelper@getTime()" />

        </li>

        <li>

            访问静态属性:

            <s:property value="@com.pk.util.Constants@TITLE" />

        </li>

        <li>

            访问Math类的静态方法:

            <s:property value="@@random()" />

        </li>

 

 

访问List:

        <s:property value="userList" />

        <br />

 

        访问List中某个元素:

        <s:property value="userList[2]" />

        <br />

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

        <s:property value="userList.{age}" />

        <br />

 

        访问List中某个元素的属性:

        <s:property value="userList[0].age" />

    <br/>

        List的大小:

        <s:property value="userList.size()" />  -- <s:property value="userList.size" />

        <hr />

        访问Set:

        <s:property value="userSet" />

        <br />

        无法访问Set中某个元素:

        <s:property value="userSet[1]" />

        <br />

        Set的大小:

        <s:property value="userSet.size()" />  -- <s:property value="userSet.size" />

        <hr />

        访问Map:

        <s:property value="userMap" />

        <br />

 

        访问Map中某个元素:

        <s:property value="userMap.obj1" />

        ---

        <s:property value="userMap['obj1']" />

        ---

        <s:property value="userMap[\"obj1\"]"/>

        <br />

        访问Map中所有的key:

        <s:property value="userMap.keys" />

        <br />

        访问Map中所有的value:

        <s:property value="userMap.values" />

        <br />

        Map的大小:

        <s:property value="userMap.size()" />

        ---

        <s:property value="userMap.size" />

 

访问ActionContext中的对象

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

        <br />

        访问ActionContext中的对象的方法

        <s:property value="#session.userInfo.name" />

       

        <hr/>

       

        <s:select label="label" name="name" list="{'name1','name2','name3'}"

            value="'name2'" /><br />

           

        <s:select label="label" name="name"

            list="#{'foo':'foovalue', 'bar':'barvalue'}" value="'bar'"/>

 

 

分享到:
评论

相关推荐

    struts2 ongl包源码

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

    Java struts2 ongl 标签 jsp页面

    Java Struts2 OGNL(Object-Graph Navigation Language)标签是用于在JSP页面中动态地访问和操作Java对象的强大工具。以下是对这些知识点的详细解释: 1. **对象树的访问**: OGNL允许开发者通过点号(`.`)来遍历...

    Struts2 Ongl文档

    根据提供的文件信息,我们可以归纳出以下关于Struts2中OGNL(Object-Graph Navigation Language)的知识点: ### 1. 引言与简介 OGNL 是一种强大的表达式语言,它允许开发人员通过简洁的语法来导航 Java 对象。...

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

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

    Struts2的ONGL详解

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

    struts2开发工程 ongl.rar

    本工程"ongl.rar"显然是一个使用Struts2框架进行开发的项目压缩包,包含了必要的源代码和配置文件。以下是关于Struts2开发的一些关键知识点: 1. **Struts2框架核心组件**: - **Action类**:是业务逻辑的载体,...

    struts2中的ongl表达式相关简介

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

    struts2验证+拦截器+国际化+下载excle文档+struts2二级联动+ongl表达试+ssh集成 项目下载

    struts2验证+拦截器+国际化+下载excle文档+struts2二级联动+ongl表达试+ssh集成\部分代码, 项目下载、 部分代码 请看: http://blog.csdn.net/liangrui1988/article/details/9778787

    JSTL、EL、ONGL、Struts标签的区别

    - **Struts 标签**: 提供了一组标签来简化 Struts 应用程序的开发过程,尤其是在与 Struts2 框架结合使用时更为强大。 这些技术之间可以相互配合使用,以达到更好的效果。例如,在 JSP 页面中,可以使用 JSTL 来...

    ongl的官方源代码

    本篇文章将深入探讨ongl的源代码,分析其核心概念、设计原理以及与Struts2.0框架的整合方式。 **1. oegl的基本概念** ongl的核心是它的表达式语法,它允许开发者用简洁的语句来创建和操作界面元素。例如,`${...

    Struts2学习案例--------入门篇

    输出Hello World 使用到struts2标签和jstl表达式 2、 URL:http://localhost:8080/struts100515 输入用户名XXX ------&gt; 提交 ,显示 你好 XXX 使用ONGL表达式 3、 URL:...

    struts2 详解文档

    Struts2是一个强大的Java EE应用程序框架,主要用于构建Web应用程序,特别是MVC(Model-View-Controller)架构的应用。它的核心是Action,通过Action类来处理用户的请求并返回响应。本详解文档将涵盖从Struts2的基本...

    ongl表达式

    2. **JSP标签库**:Struts提供了一系列的JSP标签,如`s:textfield`、`s:textarea`等,这些标签内部使用ONGL表达式处理数据。 3. **国际化**:在资源文件中定义国际化字符串,ONGL表达式可以引用这些字符串,实现...

    ONGL介绍

    ONGL在许多Java框架中被广泛应用,例如Struts 2、Spring等,极大地提高了开发效率和代码的可读性。 **ONGL的主要特点** 1. **动态表达式**:ONGL允许在运行时构建和执行表达式,这意味着开发者可以在不提前知道...

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

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

    ongl的使用方法及怎么解决

    **ONGL(Object-Graph Navigation Language)**是一种强大的表达式语言,常用于Struts2框架中,用于数据绑定和表达式求值。本篇文档将详细介绍ONGL在访问上下文、集合操作以及构造Map等方面的使用方法,以及如何解决...

    ongl 灵活运用

    它在Web开发领域,特别是在Struts2框架中,被广泛用来简化视图层的逻辑,允许开发者通过简洁的表达式来访问和操作对象的属性。** ### OGNL的简介 ONGL全称为Object-Graph Navigation Language,是由OpenSymphony...

    SHH整合(mysql,struts2 2.2+spring2.5+hibernate3.0,log,jquery,标签等)DEMO

    1、SHH整合 详细清晰的标准配置,主流的应用配置,struts2.2+spring2.5+hibernate3.0 2、结合MYSQL轻量级... 使用主流的JSP标签JSTL,STRUTS2 标签 ongl数据显示 是一个集成好多主流技术的两个显示数据与登陆的DEMO

    ongl源代码

    - **WebWork/Struts2**:ONGL是这两款MVC框架的默认表达式语言,用于处理动作和视图的绑定。 - **独立使用**:ONGL也可单独作为工具库,用于在任何Java程序中执行动态表达式。 通过研究jkuhnert-ognl-1483b9a的源...

    ongl源码 非常好!

    3. OGNL在Web开发中的应用:在Struts2框架中,ONGL作为默认的表达式语言,用于视图层和模型层的数据绑定。开发者可以通过OGNL表达式在JSP页面上直接访问模型数据,实现动态渲染。 4. 使用WinCVS下载ONGL源码:...

Global site tag (gtag.js) - Google Analytics