Pregunta

Usando JDesarrollador, comencé a desarrollar un conjunto de páginas web para un proyecto en el trabajo.Como no sabía mucho sobre JDev en ese momento, corrí a Oracle para seguir algunos tutoriales.Los tutoriales de JDev recomiendan hacer JSPX en lugar de JSP, pero realmente no explicó por qué.¿Está desarrollando páginas JSPX?¿Por qué decidiste hacerlo?¿Cuáles son las ventajas y desventajas de seguir la ruta JSPX?

¿Fue útil?

Solución

La principal diferencia es que puede ser más fácil trabajar con un archivo JSPX (oficialmente llamado 'documento JSP') porque el requisito de un XML bien formado puede permitir que su editor identifique más errores tipográficos y de sintaxis a medida que escribe.

Sin embargo, también existen desventajas.Por ejemplo, un XML bien formado debe escapar de cosas como signos menores que, por lo que su archivo podría terminar con contenido como:

<script type="text/javascript">
   if (number &lt; 0) {

La sintaxis XML también puede ser más detallada.

Otros consejos

JSPX tiene algunos inconvenientes, que tengo por encima:

  1. Es difícil generar algunos tipos de contenido dinámico;especialmentegenerar una etiqueta HTML con atributos opcionales (es decir,o dependiendo de una condición).Las etiquetas JSP estándar que deberían resolver este problema no funcionaban correctamente cuando comencé a hacer JSPX.
  2. No más & nbsp;:-pag
  3. Realmente querrás poner todo tu Javascript en archivos separados (o usar secciones CDATA, etc.).En mi humilde opinión, deberías usar jQuery de todos modos, por lo que realmente no necesitas tener onclick, etc.atributos...
  4. Es posible que las herramientas no funcionen correctamente;tal vez su IDE no admita nada por encima de JSP simple.
  5. En Tomcat 6.x, al menos en las versiones/configuración que probé, la salida generada no tiene ningún formato;aunque solo una pequeña molestia

Por otro lado:

  1. Te obliga a escribir XML correcto, que puede manipularse más fácilmente que JSP.
  2. Las herramientas pueden realizar una validación instantánea, detectando errores antes
  3. Sintaxis más simple, en mi humilde opinión.

Una línea de razonamiento totalmente diferente por la que deberías usar jspx en lugar de jsp:

JSPX y EL hacen que incluir javascript y códigos java integrados sea mucho más difícil y menos natural que jsp.EL es un lenguaje diseñado específicamente para la lógica de presentación.

Todo esto lo empuja hacia una separación más clara entre la representación de la interfaz de usuario y otra lógica.La desventaja de muchos códigos integrados dentro de una página JSP (X) es que es prácticamente imposible probar fácilmente, mientras que practicar esta separación de preocupaciones hace que la mayor parte de su lógica sea totalmente probable.

¡Hola compañero desarrollador de JDeveloper!

He estado trabajando con páginas JSPX durante más de dos años y nunca tuve ningún problema con que JSPX se opusiera a JSP.La elección de elegir JSPX fue un poco forzada ya que uso JHeadstart para generar automáticamente páginas ADF Faces y, de forma predeterminada, JHeadstart genera todo en JSPX.

JSPX especifica que el documento debe ser un documento XML bien formado.Esto permite que las cosas lo analicen de manera adecuada y eficiente.He escuchado a desarrolladores decir que esto ayuda a que sus páginas estén más "preparadas para el futuro" a diferencia de JSP.

Como se indica en la documentación oficial de Spring 3.1

"Spring ofrece un par de soluciones listas para usar para vistas JSP y JSTL".

También hay que pensar en el hecho de que JSPX tiene como objetivo producir una salida compatible con XML puro.Entonces, si su objetivo es HTML5 (que puede ser compatible con XML pero aumenta la complejidad, consulte mis próximos comentarios), tendrá algunas dificultades para lograr su objetivo si está utilizando Eclipse IDE...Si su objetivo es producir XHTML, elija JSPX y JDeveloper lo apoyará...

En uno de nuestros proyectos cie hicimos un POC con JSP y JSPX e hicimos PROS y CONTRAS y mi recomendación personal fue usar JSP porque nos pareció mucho menos restrictivo y natural producir HTML5 en una forma no XML que también es menos restrictiva. y una sintaxis más compacta.Preferimos elegir algo menos restrictivo y agregar recomendaciones de "mejores prácticas" como "no colocar scriptlets de Java" dentro de los archivos jsp.(Por cierto, JSPX también le permite poner scriptlets con jsp:scriplet en lugar de <%...%>)

@Matthew-
¡ADF!La aplicación en la que estoy trabajando actualmente tiene el 90% de la capa de presentación generada por mod PL/SQL.Comencé a trabajar en algunas pantallas nuevas y quería investigar otras opciones que pudieran encajar en nuestra arquitectura, sin ser una gran carga de aprendizaje (aumentando la complejidad del sistema/fallando los modelos mentales del sistema de los desarrolladores) para otros desarrolladores en el equipo.Así que con ADF también encontré JSPX.

También vi una observación "preparada para el futuro"... pero no sabía qué tan bien fundada estaba.

JSPX también es la tecnología de visualización recomendada en Spring MVC/Spring Web Flow.

Además, otro problema que encontré con JSPX es cuando quieres usar scriptlets.Estoy de acuerdo en que el código limpio es generalmente bueno y la lógica Java en JSP es generalmente mala, pero hay ciertos casos en los que desea usar una función de utilidad para devolver un valor de cadena o algo en lo que TagLib o el modelo (atributos de solicitud) serían excesivos. .

¿Qué piensan todos sobre los scriptlets en JSP?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top