2010-01-14 11 views
7

Digamos que no aprovecho OGNL para crear mi aplicación web Struts2 y simplemente uso el típico el proporcionado por Sun. ¿Cuál sería la desventaja de esto?Ventajas del uso de OGNL sobre EL típico en Struts2

Por lo que sé, OGNL es un tipo de expresión que intenta hacer coincidir el mejor valor coincidente de ValueStack en función de su estado actual. ¿Podría también lograrse utilizando solo EL en su lugar?

Gracias de antemano por las respuestas

Daniel

Respuesta

9

Respuesta corta: Sí, puede usar el JSP EL en lugar de OGNL. Ambos idiomas tienen sus pros y sus contras, pero no hay una desventaja inminente para usar cualquiera de los dos.

respuesta Largo: OGNL es utilizado internamente por XWork y Struts2, por lo que en realidad no puede eliminar la dependencia en sí, sin embargo, que sin duda puede utilizar la JSP EL predominantemente (o incluso exclusivamente) en su capa de vista JSP.

Existen ventajas y desventajas para utilizar cualquiera de los lenguajes de expresión. Un área que OGNL brilla sobre JSP EL es en la creación dinámica de mapas y colecciones, como para respaldar <select/> elementos, etc.

Sin embargo, en la mayoría de los casos encuentro que el JSP EL es una mejor opción para mí ya que hacer un uso intensivo de las etiquetas simples JSP (archivos .tag).

@Amit Sharma: Tengo que estar en desacuerdo con que el uso de JSP/JSTL sobre OGNL y las etiquetas Struts derrote el propósito de usar Struts2. El marco del interceptor, la conversión de tipos y los tipos de resultados se encuentran entre los motivos más extensibles y convincentes para usar Struts2. Ninguna de esas cosas está ligada a ninguna tecnología de visualización específica.

2

no creo que es posible hacer, incluso si decide no utilizar OGNL con su aplicación web struts2. OGNL es utilizado internamente por struts2 para la transferencia de datos y la conversión de tipos. Si planea usar struts2, tendrá que usar OGNL y si no lo hace, struts2 lo hará automáticamente.

Aunque puede omitir OGNL y usar EL puro, pero de esa manera se destruye todo el propósito del uso de struts2 porque si no está usando las características incorporadas de struts2, probablemente esté escribiendo esos mecanismos desde cero usando EL.

Aunque puede parecer extraño inicialmente, pero OGNL es bastante poderoso y vale la pena considerarlo cuando se desarrolla en struts2.

Cuestiones relacionadas