给OGNL“加把火”

[b]OGNL[/b]的全称是[color=red]Objece Graphic Navigation Language[/color],也就是数据导航图语言,[color=red]工作在视图层,可简化数据的访问操作,取代页面中的Java脚本[/color]。用如下图片可直观看出其架构;[img]http://dl2.iteye.com/upload/attachment/0109/9581/9ae1523d-5d80-369f-9ed5-07acb37e0b42.png[/img]
[color=red]出现的原因:[/color]我们都知道基于B/S模式的应用程序要完成数据的交互,必须要进行数类型的转换,否则将出现B/S两端类型不兼容问题,从而无法完成数据之间的交互,它的[color=red]转换基础[/color]是OGNL。
OGNL将页面中的元素与对象的属性绑定起来,把页面提交过来字符串自动转换成对应的Java基本类型并放入到“值栈”中,而用户可以通过OGNL表达式或者Struts 2标签从“值栈”获得这些属性的值,其从“值栈”获得的过程也是一次类型转换的过程,即[color=red]Java类型转换从String类型[/color]。
OGNL[color=red]“表达式”[/color]的几点注意事项:
1.“#”访问非根对象的属性,例如#session.msg表达式中,#表示ActionContext.getContext();
2.“$"有两种用途,在国际化资源中,引用OGNL表达式,例如:reg.agerange=国际化资源信息;年龄必须在${min}和${max}之间;在Struts 2配置文件中,引用OGNL表达式。
3.“%”在标签的属性值被理解为字符串类型时,告诉[color=red]执行环境[/color]%{}里的是OGNL表达式。%符号的用途是在标志的属性为字符串类型时,计算OGNL表达式的值。简而言之,当有的标签“看不懂”里面的执行语句时,就要用[color=red]%{}翻译一下“翻译一下”[/color]。
小小总结,Strut 2是很好的MVC框架的实现者,它对视图层和非视图层提供了强大的类型转换和数据转移机制,使开发者能运用自如。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值