这段时间学习了两种EL,和OGNL都是表达式,然后对两者的不同进行学习,在网上还搜到了询问两者不同的面试题,自己也决定好好的学习一下
jstl是JSP标签,有点像html的标签。 ognl与el功能类似,都是表达式语言。 ognl是在webwork2.0和struts2.x中取代el的。
OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,OGNL是一个开源项目,读者可以访问其官方站点以获得源代码和相关资料。OGNL是一种功能强大的EL(Expression Language,表达式语言),可以通过简单的表达式来访问Java对象中的属性。
从这段话上我们貌似感觉OGNL比EL强大,可以取代EL,但实际应用却不是这样
一般来说
jstl标签搭配el用,需要在jsp头部配置,jstl用来取值,而el用来展示。el也可直接取值展示作用域里对象变量。
struts标签一般与ognl配合使用
但是
关于这个方面,可以参考http://baiyan425.blog.51cto.com/1573961/777413
再说说两者的区别:
其实除了语法不一样外,最主要的是两点
1.OGNL是通常要结合Struts 2的标志一起使用,如<s:property value="#xx" /> struts页面中不能单独使用,el可以单独使
用 ${sessionScope.username}
2.EL表达式能用在内部文件的js里
关于这两点可以参考http://blog.csdn.net/lidiansheng/article/details/7902400
当然最后还是要贴出来两者的用法
http://blog.csdn.net/sd0902/article/details/8393099
再具体的用法希望读者自己去搜一下,有很多,其中比较关键的是$在jsp中只能用于EL,一部分原因是不能跟OGNL冲突

270

被折叠的 条评论
为什么被折叠?



