Struts2 OGNL表达式实例详解

Struts2 OGNL表达式实例详解

1. 什么是OGNL

OGNL即Object-Graph Navigation Language,是一个强大的表达式语言,它可以对Java对象进行操作并获取想要的数据,Struts2框架中使用OGNL表达式引擎来解析前端传递的参数,同时也支持在配置文件中使用OGNL表达式。

2. OGNL表达式语法

OGNL表达式的语法非常简洁明了,以下是OGNL的基本语法:

2.1. 变量

在OGNL中,使用#开头定义变量,语法如下:

  • varName

2.2. 属性

使用"."连接符号获取一个对象的属性值,如 pet.name 表示获取pet对象的name属性值。

2.3. 方法

使用"."连接符号调用一个对象的方法,如 pet.getName() 表示调用pet对象的getName()方法。

2.4. 类型

在OGNL中,使用@表示引用Java类,如@java.util.Date表示引用java.util.Date类。

2.5. 运算符

OGNL支持基本的算数运算符(+,-,*,/),关系运算符(>,<,>=,<=),逻辑运算符(&&,||,!)等。

3. OGNL的实例

3.1. 操作对象属性

<h1>获取对象属性值</h1>
<s:set var="person" value="{'name':'张三','age':18,'address':{'province':'山东省','city':'青岛市'}}"/>

<s:property value="#person.name"/> <!-- 输出:张三 -->
<s:property value="#person.address.province"/> <!-- 输出:山东省 -->

3.2. 调用对象方法

<h1>调用对象方法</h1>
<s:set var="date" value="@java.util.Date@new()"/>

<s:property value="#date.getTime()"/> <!-- 输出当前时间的毫秒数 -->

4. 总结

以上就是OGNL的基本语法和实例,只需掌握这些简单的语法规则,便可以在Struts2项目中更好地使用OGNL表达式。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Struts2 OGNL表达式实例详解 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • 简单了解Java程序运行整体流程

    下面我将为你详细讲解“简单了解Java程序运行整体流程”的完整攻略。 1. Java程序运行流程 Java程序的运行可以分为三个主要步骤:编写代码、编译代码和运行程序。下面我将为你详细讲解这三个步骤: 1.1 编写代码 要编写Java程序,需要使用Java编程语言。Java是一种高级编程语言,非常易学易用。在编写Java程序时,可以使用任何文本编辑器。Jav…

    Java 2023年5月23日
    00
  • JSP 2.1和JSF 1.2规范发布预览版本

    JSP 2.1和JSF 1.2是Java Web开发中的两个重要组件,用于开发动态网页和构建用户界面。在发布预览版本之前,我们需要进行一些准备工作。 1. 准备环境 在开始使用JSP 2.1和JSF 1.2之前,我们需要确保环境已经准备好。具体来说,我们需要安装JDK 1.5或更高版本,以及一个兼容的Web服务器。 2. 下载规范 JSP 2.1和JSF 1…

    Java 2023年5月23日
    00
  • Java获取时间差(天数差,小时差,分钟差)代码示例

    Java获取时间差(天数差,小时差,分钟差)的实现需要用到Java中的日期时间类:java.util.Date和java.time.LocalDateTime。以下是详细的攻略和两条代码示例: 获取时间差代码示例1 import java.time.LocalDateTime; import java.time.Duration; public class …

    Java 2023年5月20日
    00
  • Java 网络编程 —— Socket 详解

    构造 Socket 在【客户端/服务端】的通信模式中,客户端需要主动构造与服务器连接的 Socket,构造方法有以下几种重载形式: Socket() Socket(InetAddress address, int port) throws UnknownHostException,IOException Socket(InetAddress address,…

    Java 2023年4月30日
    00
  • Java判断两个日期相差天数的方法

    下面我来详细讲解“Java判断两个日期相差天数的方法”的完整攻略。 1. 获取两个日期对象 首先需要获取两个日期对象,可以使用Java中的日期类——java.util.Date或java.time.LocalDate。这里提供两种方式: 1.1 使用java.util.Date Date date1 = new SimpleDateFormat("…

    Java 2023年5月20日
    00
  • 详解Spring框架入门

    下面我将为您详细讲解“详解Spring框架入门”的完整攻略。 1. 什么是Spring框架 Spring框架是一个用于Java应用程序开发的开源框架。它最初由Rod Johnson在2002年创建,旨在提供一种允许Java程序员开发企业级应用程序的框架。Spring框架基于Java语言,使用IoC(Inversion of Control)和AOP(Aspe…

    Java 2023年5月20日
    00
  • 超级全面的PHP面试题整理集合

    下面是详细的“超级全面的PHP面试题整理集合”的攻略: 了解题目类型 首先,我们需要了解常见的PHP面试题目类型,包括基础知识、算法题、框架相关、数据库相关等。通过了解这些题目类型,我们可以对备考做出有针对性的准备。 例如,对于基础知识题目,需要掌握变量、语法规则、函数等基本知识,同时还需要注意PHP的底层实现原理;对于算法题目,需要熟练掌握各类排序、查找、…

    Java 2023年6月15日
    00
  • IDEA下创建SpringBoot+MyBatis+MySql项目实现动态登录与注册功能

    下面我将为您详细讲解“IDEA下创建SpringBoot+MyBatis+MySql项目实现动态登录与注册功能”的完整攻略。 环境准备 首先,我们需要在本地环境中安装好如下软件: JDK、IDEA、Maven、MySQL等开发环境 SpringBoot、MyBatis、MySql等相关依赖包 创建SpringBoot项目 步骤如下: 打开IDEA,选择 Cr…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部