ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 研磨Struts2 之 第九章 值栈 第十章 OGNL【私塾在线原创】

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

原创 Linux操作系统 作者:ainiyongbu 时间:2012-03-03 13:48:54 0 删除 编辑

 

 

几点说明:
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视频课程

 

 

原创内容 转自请注明【http://sishuok.com/forum/blogPost/list/0/2565.html#7343

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

请登录后发表评论 登录
全部评论