3.1 OGNL

OGNL对象图导航语言

OGNL的全称是对象图导航语言(Object-Graph Navigation Language),它是一种功能强大的开源表达式语言,使用这种表达式语言,可以通过某种表达式语法,存取Java对象的任意属性,调用Java对象的方法,同时能够自动实现必要的类型转换。如果把表达式看作是一个带有语义的字符串,那么OGNL无疑成为了这个语义字符串与Java对象之间沟通的桥梁。
使用OGNL表达式获取数据,是开发中常用的
使用OGNL表达式实现给对象的赋值,是struts2框架做的

基本用法

要想使用ognl获取数据,需要借助struts2的标签库
使用property标签实现把数据输出到浏览器上

value属性的取值是一个OGNL表达式
标签会把value属性取值所对应的内容输出到浏览器上
如果没有任何对应内容,则什么都不显示

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%--设置浏览器的页面编码 --%>
    <%--设置JSP编译成Servlet时使用的编码,可以只写这一句 --%>
    
<%@ taglib uri="/struts-tags" prefix="s" %>



<%--规定 HTML 文档的字符编码 --%>


ognl基本用法


OGNL


3.1 OGNL_第1张图片

没有对应内容,所以显示为空

OGNL和字符串的转换

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%--设置浏览器的页面编码 --%>
    <%--设置JSP编译成Servlet时使用的编码,可以只写这一句 --%>
    
<%@ taglib uri="/struts-tags" prefix="s" %>



<%--规定 HTML 文档的字符编码 --%>


ognl基本用法




OGNL
<%--OGNL和字符串的转换
表达式转成字符串
    %{''} | %{""}
    可以把%{}去掉
字符串转成表达式
    %{} 把字符串套起来
 --%>
OGNL转字符串1

OGNL转字符串2


字符串转OGNL: 字符串转OGNL:
3.1 OGNL_第2张图片

访问对象的普通方法

<%--EL表达式没有空指针异常(没有就显示空),没有下标越界,没有字符串拼接("aaa"+"bbb"不可以) --%>
<%--OGNL访问对象的方法 --%>
调用字符串的长度方法:
调用字符串转大写方法:
调用字符串的分隔方法:
3.1 OGNL_第3张图片

OGNL表达式访问类的静态成员(静态属性)、静态方法

<%--OGNL表达式访问类的静态成员(静态属性)
    访问静态属性需要按照固定的书写规范
    @包名.包名...类名@静态属性名称
 --%>
OGNL表达式访问静态属性:
<%--OGNL访问类的静态方法 访问静态属性需要按照固定的书写规范 @包名.包名...类名@静态方法名称 需要在struts.xml配置constant --%> OGNL表达式访问静态方法:

struts.xml


3.1 OGNL_第4张图片

OGNL操作List

HTML单选按钮
性别:
<%--OGNL操作List s:radio标签的list取值就是一个OGNL表达式 {}表示创建了一个List集合 {'男','女'} --%> Struts2的单选按钮:
3.1 OGNL_第5张图片

3.1 OGNL_第6张图片

OGNL操作Map

女
<%--OGNL操作Map
    #{}表示创建了一个map集合
    #{key:value, key:value}
    #{'male':'男', 'female':'女'}
 --%>


3.1 OGNL_第7张图片

3.1 OGNL_第8张图片

你可能感兴趣的:(3.1 OGNL)