您的位置:首页 > 其它

给OGNL“加把火”

2015-07-04 12:53 211 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/qq_21147571/article/details/84731256 OGNL的全称是[color=red]Objece Graphic Navigation Language[/color],也就是数据导航图语言,[color=red]工作在视图层,可简化数据的访问操作,取代页面中的Java脚本[/color]。用如下图片可直观看出其架构;
[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框架的实现者,它对视图层和非视图层提供了强大的类型转换和数据转移机制,使开发者能运用自如。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: