personalizadas - ¿Debo hacer JSPX en lugar de JSP?
tag jsp java (8)
Utilizando JDeveloper , 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 recomendaban hacer JSPX lugar de JSP , pero realmente no explicaban por qué. ¿Estás desarrollando páginas JSPX? ¿Por qué decidiste hacerlo? ¿Cuáles son los pros / contras de ir a la ruta JSPX?
¡Hola, compañero desarrollador de JDeveloper!
He estado trabajando con páginas JSPX durante más de dos años y nunca he tenido ningún problema con que sean JSPX opuestos a JSP. La opción de ir con JSPX fue forzada ya que utilizo 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 correcta y eficientemente. Escuché a los desarrolladores decir que esto ayuda a que sus páginas sean más ''a prueba de futuro'' en contra de JSP.
@ Matthew-
ADF! La aplicación en la que estoy trabajando ahora tiene el 90% de la capa de presentación generada por el mod PL / SQL. Comencé a trabajar en algunas pantallas nuevas y quería investigar otras opciones que pudieran encajar en nuestra arquitectura, sin tener que soportar una gran carga de aprendizaje (aumentar la complejidad del sistema / bloquear los modelos mentales del sistema del desarrollador) en otros desarrolladores en el equipo. Entonces ADF es como me encontré con JSPX, también.
Vi una observación "a prueba de futuro" también ... pero no sabía cuán bien fundado estaba eso.
Además, otro problema que he encontrado con JSPX es cuando quieres usar scriptlets. Estoy de acuerdo en que el código limpio es generalmente bueno y la lógica de Java en el JSP generalmente es mala, pero hay ciertos casos en los que desea utilizar una función de utilidad para devolver un valor de cadena o algo donde un TagLib o el modelo (atributos de solicitud) serían excesivos .
¿Cuáles son los pensamientos de todos con respecto a los scriptlets en JSP?
Como se indica en la documentación oficial de Spring 3.1
"Spring brinda un par de soluciones listas para usar para las vistas JSP y JSTL".
También debe pensar en el hecho de que JSPX pretende producir resultados puros que cumplan con XML. Entonces, si su objetivo es HTML5 (que puede ser compatible con XML pero aumentar la complejidad, vea mis próximos comentarios), usted tiene algo de dolor para lograr su objetivo si está utilizando Eclipse IDE ... Si su objetivo es producir XHTML, vaya por JSPX y JDeveloper. te apoyará ...
En uno de nuestros proyectos CIE creamos un POC con JSP y JSPX e hicimos PROS y CONS, y mi recomendación personal fue usar JSP porque consideramos que es mucho menos restrictivo y natural producir HTML5 de una forma que no sea XML y que también sea menos restrictiva. y una sintaxis más compacta. Preferimos elegir algo menos restrictivo y agregar recomendaciones de "mejores prácticas" como "no poner scriptlets de Java" dentro de los archivos jsp. (BTW JSPX también le permite colocar scriplets con jsp: scriplet en lugar de <% ...%>)
JSPX es también la tecnología de vista recomendada en Spring MVC / Spring Web Flow.
JSPX tiene algunos inconvenientes, en mi cabeza:
- Es difícil generar algunos tipos de contenido dinámico; esp. generar 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 funcionaron correctamente el día que comencé a hacer JSPX.
- No más & nbsp; :-pag
- Realmente querrás poner todo tu Javascript en archivos separados (o usar secciones CDATA, etc.). En mi humilde opinión, deberías estar usando jQuery de todos modos, así que realmente no necesitas tener atributos onclick, etc. ...
- Las herramientas pueden no funcionar correctamente; tal vez su IDE no es compatible con nada por encima de JSP simple.
- En Tomcat 6.x, al menos las versiones / config que probé, la salida generada no tiene ningún formato; solo una pequeña molestia, aunque
Por otra parte:
- Te obliga a escribir XML correcto, que se puede manipular más fácilmente que JSP
- Las herramientas pueden realizar una validación instantánea y detectar los errores antes
- Sintaxis más simple, en mi humilde opinión
La principal diferencia es que un archivo JSPX (oficialmente llamado ''documento JSP'') puede ser más fácil de trabajar porque el requisito de un XML bien formado puede permitirle a su editor identificar más errores tipográficos y de sintaxis a medida que escribe.
Sin embargo, también hay desventajas. Por ejemplo, un XML bien formado debe escapar a elementos como signos de menos que, por lo que su archivo podría terminar con contenido como:
<script type="text/javascript">
if (number < 0) {
La sintaxis XML también puede ser más detallada.
Una línea de razonamiento totalmente diferente por la que debería usar jspx en lugar de jsp:
JSPX y EL hacen que incluir javascript y códigos java incrustados sea mucho más difícil y mucho menos natural de hacer que jsp. EL es un lenguaje específicamente adaptado para la lógica de presentación.
Todo esto lo empuja hacia una separación más clara de la representación de UI y otra lógica. La desventaja de muchos códigos incrustados dentro de una página JSP (X) es que es virtualmente imposible de probar fácilmente, mientras que practicar esta separación de preocupaciones hace que la mayoría de su lógica sea totalmente comprobable por unidad.