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后端产生验证码后台验证功能是Web开发过程中常见的安全性验证功能。下面将详细介绍Java后端产生验证码后台验证功能的实现代码完整攻略。 1. 生成验证码 Java后端生成验证码可以使用第三方库,比如Google的kaptcha,关于这部分的实现方式扩展到本篇文章以外,这里不做详述,主要讲解验证码的验证。 2. 后台验证码验证功能 2.1 后台实现验证…

    Java 2023年6月15日
    00
  • Spring Cloud Config配置文件使用对称加密的方法

    关于Spring Cloud Config配置文件使用对称加密的方法的攻略如下: 1. 配置对称加密 首先我们需要在工程中添加对称加密的模块和配置文件。比如我们可以使用Jasypt来实现对称加密,只需要在pom.xml文件中引入对应的依赖即可: <dependency> <groupId>com.github.ulisesbocchi…

    Java 2023年5月20日
    00
  • java使用RandomAccessFile类基于指针读写文件实例代码

    下面是完整的“java使用RandomAccessFile类基于指针读写文件实例代码”的攻略: 1. RandomAccessFile类 RandomAccessFile类可以让我们在文件中进行读写操作,它支持在文件任意位置进行数据读写,因此它非常适用于对文件进行随机访问(Random Access)操作。RandomAccessFile类有两个构造方法: …

    Java 2023年6月1日
    00
  • java基于servlet使用组件smartUpload实现文件上传

    一、背景概述在网页开发中,经常需要实现文件上传功能。而Java中的servlet技术是实现文件上传的一种常见方式。本文将介绍如何使用Java基于servlet使用组件smartUpload实现文件上传。 二、前置条件及环境 前置条件: 了解JavaWeb基础知识; 熟悉servlet技术; 熟悉Java基础知识。 环境:JDK1.8、Tomcat8.5 三、…

    Java 2023年6月15日
    00
  • Spring 项目常用pom文件的依赖

    针对“Spring 项目常用pom文件的依赖”,以下是一份完整的攻略: 一、介绍 在 Spring 项目中,我们通常需要引入一些依赖包才能完成各种功能。为了方便管理这些依赖,Maven 项目中采用了 pom.xml 文件来描述和管理项目依赖。在 pom.xml 文件中,我们可以配置项目中所需要的依赖和其版本号等相关信息。在 Spring 项目中,有许多常用的…

    Java 2023年5月19日
    00
  • 常见的Java缓存框架有哪些?

    常见的Java缓存框架有很多,其中比较流行的包括:Ehcache、Guava Cache、Redis、Caffeine等。 Ehcache Ehcache是一个开源的Java缓存框架,使用简单并且支持多种缓存策略,例如内存缓存和持久化缓存等。首先,我们需要在项目中添加Ehcache的依赖,然后使用如下代码来创建和获取缓存实例: CacheManager ca…

    Java 2023年5月11日
    00
  • 动态字节码生成的作用是什么?

    动态字节码生成是指在程序运行过程中动态生成字节码的一种技术。它可以让程序在运行时动态地生成类,方法和字段等内容,而不必像静态代码一样事先写好保存在文件中。这种技术最常见的使用场景是实现动态代理、AOP(面向切面编程)等功能。以下是动态字节码生成的使用攻略。 步骤一:引入相关库 使用动态字节码生成技术需要引入相关的库,下面是两种常用的库: ASM:ASM是Ja…

    Java 2023年5月11日
    00
  • SpringBoot 替换 if 的参数校验示例代码

    下面是关于SpringBoot替换if的参数校验示例代码的完整攻略。 什么是参数校验 参数校验是指对输入参数的正确性进行检查,以保证系统可以正常的运行,常见的校验项包括非空校验、数据格式校验、数据范围校验等。 传统的参数校验方式 传统的参数校验是通过if或者switch等条件语句实现的,例如: public boolean check(String name…

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