OGNL的使用优于Struts2中的典型EL

OGNL的使用优于Struts2中的典型EL,struts2,el,ognl,Struts2,El,Ognl,假设我没有利用OGNL来创建Struts2 web应用程序,而只是使用Sun提供的典型el。它的缺点是什么 据我所知,OGNL是一种表达式,它试图根据当前状态匹配ValueStack中的最佳匹配值。它也可以通过单独使用EL来实现吗 提前感谢您的回复 Daniel我认为即使您选择不在struts2 web应用程序中使用OGNL,也不可能做到这一点。struts2在内部使用OGNL进行数据传输和类型转换。如果您计划使用struts2,则必须使用OGNL,如果您不这样做,struts2将自动执行 虽然

假设我没有利用OGNL来创建Struts2 web应用程序,而只是使用Sun提供的典型el。它的缺点是什么

据我所知,OGNL是一种表达式,它试图根据当前状态匹配ValueStack中的最佳匹配值。它也可以通过单独使用EL来实现吗

提前感谢您的回复


Daniel

我认为即使您选择不在struts2 web应用程序中使用OGNL,也不可能做到这一点。struts2在内部使用OGNL进行数据传输和类型转换。如果您计划使用struts2,则必须使用OGNL,如果您不这样做,struts2将自动执行

虽然您可能会忽略OGNL并使用纯EL,但这样一来,使用struts2的整个目的就会失败,因为如果您没有使用struts2的内置功能,那么您可能是在使用EL从头开始编写这些机制


虽然最初看起来很奇怪,但OGNL非常强大,在struts2中开发时值得考虑

简短回答:是的,您可以使用JSP EL而不是OGNL。这两种语言都有各自的优点和缺点,但使用这两种语言都不会带来任何负面影响

长答案: OGNL由XWork和Struts2在内部使用,因此您实际上无法删除依赖项本身,但是您当然可以在JSP视图层中主要(甚至完全)使用JSP EL

使用任何一种表达语言都有利弊。OGNL在JSPEL上的一个亮点是动态创建映射和集合,例如用于支持
元素等

然而,在大多数情况下,我发现JSP EL更适合我,因为我大量使用JSP简单标记(
.tag
文件)

@Amit Sharma:我不同意在OGNL上使用JSP/JSTL和Struts标记会破坏使用Struts2的目的。拦截器框架、类型转换和结果类型是使用Struts2最具扩展性和说服力的原因之一。所有这些都与任何特定的视图技术无关