【问题标题】:Advantages of OGNL usage over typical EL in Struts2在 Struts2 中使用 OGNL 相对于典型 EL 的优势
【发布时间】:2010-01-14 03:05:46
【问题描述】:

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

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

提前感谢您的回复

丹尼尔

【问题讨论】:

    标签: struts2 el ognl


    【解决方案1】:

    简短回答:是的,您可以使用 JSP EL 代替 OGNL。两种语言各有优缺点,但两者都没有明显的缺点。

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

    使用这两种表达语言各有利弊。 OGNL 在 JSP EL 上的亮点之一是动态创建地图和集合,例如支持 <select/> 元素等。

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

    @Amit Sharma:我不同意在 OGNL 和 Struts 标签上使用 JSP/JSTL 违背了使用 Struts2 的目的。拦截器框架、类型转换和结果类型是使用 Struts2 的最可扩展和最令人信服的理由之一。这些东西都与任何特定的视图技术无关。

    【讨论】:

      【解决方案2】:

      即使您选择不将 OGNL 与您的 struts2 Web 应用程序一起使用,我认为也不可能这样做。 struts2 在内部使用 OGNL 进行数据传输和类型转换。如果您打算使用 struts2,则必须使用 OGNL,如果您不这样做,struts2 会自动执行。

      虽然你可能会省略 OGNL 并使用纯 EL,但是那样使用 struts2 的整个目的就会失败,因为如果你不使用 struts2 的内置功能,你可能会使用 EL 从头开始​​编写这些机制.

      虽然一开始可能看起来很奇怪,但是 OGNL 相当强大,在 struts2 中开发时值得考虑。

      【讨论】:

        猜你喜欢
        • 2010-10-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-20
        • 2021-12-29
        • 2017-03-19
        • 2010-12-23
        • 2015-07-23
        相关资源
        最近更新 更多