OGNL对Struts2的值栈的操作方式

Struts2存取数据,通过值栈完成,OGNL是访问值栈数据的表达式语言,在Struts2中,使用OGNL表达式获取数据有三种方式:

  • #号用法
  • %号用法
  • $号用法

#号的使用

用法一:

访问 OgnlContextMap栈中常用对象,包括web对象, 添加#进行访问。

 

用法二: 如果不加 # 会直接调用ValueStack搜索功能(findValue),先搜索root栈对象的属性,后搜索Map,#直接搜索map栈。

 

用法三:用来构造集合

 

list{‘value1’,’value2’}----new arraylist()

 

map#{‘key1’ :’value1’,’key2’ :’value2’} ---new hashmap()

 

相当于map对象

%号的使用

 

%表达式的作用是,可以让字符串变成解析的,也可以让解析的表达式变成字符

 

$号的使用

$主要作用是在相关配置文件中引入OGNL表达式,让其在配置文件中也能解析OGNL表达式(换句话说:$用于在配置文件中获取值栈的值用的。)

相关配置文件主要包括:struts.xml、国际化的文件(xxx.properties)、校验配置文件(xxx-validation.xml)

 

posted @ 2016-11-29 16:26  雏鹰。  阅读(136)  评论(0编辑  收藏  举报