研磨Struts2 之 第九章 值栈 第十章 OGNL【私塾在线原创】

 

 

几点说明:
1:值栈封装了一次请求所有需要操作的相关的数据
2:值栈和请求是一对一的,不同的请求值栈也不同
3:值栈与请求之间通过ActionContext相关联
4:在数据库中通过sql操作数据库,Struts2的值栈默认通过OGNL来操作
表达式语言(EL)被设计用于帮助你通过编写简单的表达式执行公共的任务。比如
Hibernate中就包含了HQL的EL,用来充当你和复杂aql语言之间的缓冲器。
在Web框架中,EL有着类似的目的,用来消除重复代码,通常具有弱类型和动态
性的特点,用来减少Java语言所需的操作。
Web框架中的表达式语言通常具有如下功能:
(1)数据类型转换
(2)内容国际化
(3)细粒度的访问对象的某些部分
OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式
语言(Expression Language,简称为EL),通过它简单一致的表达式语法,可以存
取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化
等功能。它使用相同的表达式去存取对象的属性。
在前面的例子中,输入框的name用到的名字就是OGNL的表达式,比如:
id:,在t2.jsp用了id:
value=“um.id”/>。Input输入框里的“user.id”,它解析成Java语句为:getUm
().setId();,标签里的“user.id”就是:getUm().getId();。
两个表达式都是相同的,但前一个保存对象属性的值,后一个是取得对象属性的
值。表达式语言简单、易懂却又功能强大,关于OGNL更多的介绍可以去
一:访问Bean属性:  前面已有了示例
二:常量与操作符
   在OGNL中,可以使用Java的常量操作和数学运算。需要注意的是,String常量可以使用单引号或者双引号括起来,但是单个字符也是使用单引号,所以只有在超过一个字符的时候,使用单引号界定的常量才是String类型的。如果需要只定义一个包含单个字符的String常量,就需要使用转义。
三:方法调用
   OGNL还支持方法的调用,例如:test() 可能对应的Java代码就是:T.test()。
四:设置数值及表达式列表
   OGNL让你可以在单条语句中执行逗号分隔的多个表达式,最后一个表达式的返回值作为整条语句的输出。
五:访问静态方法和类变量
   可以使用如下形式来访问静态方法和类变量:@[ClassName]@[Field Or Method],类名必须使用完整的包名。   
 
 
 

 

 


视频配套PPT,视频地址【研磨Struts2视频课程

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26715408/viewspace-717295/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26715408/viewspace-717295/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值