OGNL,OGNL在Struts2环境当中的使用(入门)

一、OGNL概述

1、什么是OGNL

对象导航图语言(Object Graph Navigation Language),简称OGNL,是应用于Java中的一个开源的表达式语言(Expression Language),它被集成在Struts2等框架中,作用是对数据进行访问,它拥有类型转换、访问对象方法、操作集合对象等功能。

(1)OGNL:对象导航图语言,比EL表达式要强大很多倍的语言。

EL:只能从域对象当中获取数据,从EL的11个对象当中获取对象。${ }
OGEL:调用对象的方法,获取Struts2的值栈的数据。OGNL其实是第三方的表达式语言。

2、为什么学习OGNL

OGNL(Object-Graph Navigation Language),

可以方便地操作对象属性的开源表达式语言,使页面更简洁;

支持运算符(如±*/),比普通的标志具有更高的自由度和更强的功能;

Struts 2默认的表达式语言是OGNL,原因是它相对其它表达式语言具有下面几大优势:

支持对象方法调用,如xxx.doSomeSpecial();

支持类静态的方法调用和值访问,表达式的格式为@[类全名(包括包路径)]@[方法名 | 值名],例如:

@java.lang.String@format(‘foo %s’, ‘bar’)或@tutorial.MyConstant@APP_NAME;

支持赋值操作和表达式串联,

如price=100, discount=0.8, calculatePrice(price*discount),这个表达式会返回80;

访问OGNL上下文(OGNL context)和ActionContext;

操作集合对象。

可以直接new一个对象

3、OGNL使用的要素

1、表达式:

2、根对象:(Root)

3、Context对象:

二、OGNL在Struts2环境当中的使用(入门)

1、访问对象的方法(引入Struts2的标签)

创建JSP页面在页面当中
在这里插入图片描述

2、访问对象的静态方法

静态方法访问在Struts2当中默认是关闭的,需要开启常量。(也就是说默认情况下是不允许静态方法访问)

而Struts2当中的静态常量在

(1)手动开启静态方法访问在struts.xml

在这里插入图片描述

(2)在JSP当中通过标签的property来获取对象的静态方法

在这里插入图片描述
在浏览器当中访问
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44757034/article/details/106817156
今日推荐