Pregunta

Tengo un montón de archivos JSP y backend en Tomcat. Tengo 3 versiones diferentes de JSP con la misma lógica interna pero con diseños diferentes. Así que si cambio algo de lógica tengo tres archivos JSP para corregir.

¿Cuál es la fuente adecuada para tal escenario? Pensé en algunas pilas XML y XSLT: el backend solo da datos en XML y que para cada diseño tengo XSLT que hace algo de magia.

Imagine que necesita proporcionar stackoverflow en varios idiomas en JSP. La lógica es la misma pero el diseño es diferente.

¿Podrías señalarme en alguna dirección?

¿Fue útil?

Solución

Obtenga información sobre MVC (Controlador de vista de modelo) y la idea de que JSP debe ser parte de la Vista y no debe contener lógica alguna. La lógica pertenece a una clase de modelo.

Otros consejos

Esto generalmente se resuelve utilizando algún motor de plantillas: crea fragmentos de página más pequeños y luego declara al motor de plantillas que ciertas vistas deben constar de estas partes, unidas de cierta manera.

Los azulejos de Struts es el ejemplo clásico en el mundo de Java, pero en realidad se está volviendo viejo y arrollador en comparación con los marcos de marcos más modernos en Java y otros lenguajes. Tapestry y Wicket son otros dos más modernos (aunque no los he usado).

Para solo 3 páginas aplicar un framework web completo es probablemente excesivo, pero si tu sitio crece ...

Con JSP viejo y simple sin ningún tipo de fameworks:

1) Use los controladores para hacer el procesamiento y solo use jsp para mostrar los datos

2) Use jsp include directives para incluir encabezados, navegación, menú, pie de página y otros elementos comunes / compartidos necesarios para todos esos diseños.

O / y:

Use lo siguiente en web.xml

    <jsp-property-group>
        <url-pattern>/customers/*</url-pattern>
        <include-prelude>/shared/layout/_layout_customers_top.jsp</include-prelude>
        <include-coda>/shared/layout/_layout_customers_bottom.jsp</include-coda>
    </jsp-property-group>

El patrón de url determina qué jsps obtienen qué fragmentos de jsp (parciales en Ruby on Rails) adjuntos arriba / abajo.

Echa un vistazo a Tiles.

Este es un dominio de problemas muy clásico y hay muchos conceptos y marcos de trabajo que están tratando de resolver este problema (marcos de MVC como Struts y JSF, SessionBeans para nombrar pero). Como sospecho que no eres realmente una empresa de Java " evangelist " Te daré 2 consejos simples.

  1. Obviamente tienes muchos códigos redundantes en tus JSP. Extraiga este código en " real " Clases de Java y utilícelas en todas sus JSP. De esa manera, podrá modificar la lógica empresarial en un lugar y la redundancia será un problema menor.

  2. Eche un vistazo a las hojas de estilo en cascada (CSS). Esta es la forma más avanzada de diseñar páginas web. Es posible que ni siquiera necesite diferentes JSP para diferentes diseños, si tiene un html + CSS bien diseñado.

Saludos

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