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日

相关文章

  • Spring Data JPA实现持久化存储数据到数据库的示例代码

    以下是详细的攻略: 一、什么是Spring Data JPA Spring Data JPA是Spring框架中对JPA(Java Persistence API)规范的封装。JPA是一种ORM(Object Relational Mapping)框架,用于将Java对象映射到关系型数据库。 Spring Data JPA对JPA的封装简化了数据访问层的开发…

    Java 2023年5月20日
    00
  • 浅谈Mybatis获取参数值的方式

    下面是详细的“浅谈Mybatis获取参数值的方式”的攻略。 前言 在Mybatis中获取参数值是常见的操作。本文将向你介绍Mybatis中获取参数值的方式,帮助你更好的使用Mybatis。 直接获取参数名 可以直接在Mapper方法的参数中来获取实际传入参数的名称和值。 代码示例 public interface UserMapper{ void inser…

    Java 2023年5月20日
    00
  • Java操作Excel文件解析与读写方法详解

    Java操作Excel文件解析与读写方法详解 Excel文件是一种广泛应用于商业、金融等领域的数据处理工具。在Java开发中,操作Excel文件常常需要通过对Excel文件进行解析读取和写入操作。 Excel文件格式 Excel文件通常有两种常见的格式:xls和xlsx。其中,xls是Excel97-2003版本的二进制文件,而xlsx则是Excel 200…

    Java 2023年5月19日
    00
  • Spring Data JPA 实体类中常用注解说明

    下面开始为您讲解 Spring Data JPA 实体类中常用注解的说明,请注意文末有示例代码供参考。 1. @Entity @Entity 注解用于声明当前类是一个实体类(Entity),必须使用此注解标记实体类,也可以自定义表名或指定 catalog 或 schema。 2. @Table @Table 注解可以指定当前实体类要映射到的数据库表名,可以自…

    Java 2023年5月20日
    00
  • SpringBoot集成WebSocket【基于纯H5】进行点对点[一对一]和广播[一对多]实时推送

    下面将对“SpringBoot集成WebSocket进行点对点和广播实时推送”的完整攻略进行详细讲解,建议您认真阅读。 概述 WebSocket是HTML5推出的一种新型协议,它类似于HTTP协议,但对服务器尤其友好。它允许服务器在任何时刻向客户端推送数据,而不必等待客户端去请求。相对于传统的Ajax轮询方式,WebSocket更加高效、实时。 Spring…

    Java 2023年5月20日
    00
  • 超细致讲解Spring框架 JdbcTemplate的使用

    下面我将为您详细讲解“超细致讲解Spring框架 JdbcTemplate的使用”的完整攻略。 一、什么是JdbcTemplate JdbcTemplate是Spring框架提供的一个非常重要的特性,它是一个基于JDBC(Java数据库连接)的模板类,封装了JDBC的许多繁琐操作,使得开发者可以更加轻松便捷地操作数据库。同时,JdbcTemplate在执行S…

    Java 2023年5月19日
    00
  • java实现猜拳游戏试题

    下面我将详细讲解“java实现猜拳游戏试题”的完整攻略。 1. 确定游戏规则 在开始编写程序之前,需要先确定猜拳游戏的规则。通常猜拳游戏有剪刀、石头和布三种手势,其中剪刀克制布,布克制石头,石头克制剪刀。参与游戏的两个玩家选择其中一种手势,如果两个玩家选择的手势相同,则为平局;否则根据手势的胜负关系判断胜负,并输出胜负结果。 2. 编写程序 2.1. 实现游…

    Java 2023年5月23日
    00
  • springmvc如何使用POJO作为参数

    在 SpringMVC 中,我们可以使用 POJO(Plain Old Java Object)作为控制器方法的参数。使用 POJO 作为参数可以使代码更加简洁、易于维护。本文将详细讲解 SpringMVC 如何使用 POJO 作为参数,包括 POJO 的定义、POJO 作为参数的控制器方法的编写、POJO 的数据绑定等。 定义 POJO 在 SpringM…

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