Taglibs frente JavaClass: o cómo se combinan tanto de la mejor manera
Pregunta
Actualmente estoy escribiendo una plantilla para OpenCms, un CMS basado en Java con una muy buena taglib-apoyo y una API potente.
De todos modos, cuando miro a tutoriales o la fuente, está a unos 50-50 que taglibs o Javaclasses se utilizan para generar (html) -output.
Trato de mantener mis páginas JSP limpia, es decir, no hay mucho código scriplet (en lugar de utilizar JSTL y así sucesivamente). En algún momento yo podría necesitar más control sobre el código, eso eran las clases de Java-entran y aquí yo no sé hasta qué punto debería ir (I personalmente no me gusta la idea de generar HTML en una clase).
Estos son algunos pros y contras que tengo aunque por:
- Con taglibs, no tengo que reiniciar el contenedor de servlets cada vez. Acabo de hacer mis cambios y ver el resultado
- A taglib JSP es más fácil de mantener, especialmente WEBDESIGNER a causa de la "misma" sintaxis
- A JavaClass proporciona completo / más apoyo IDE (tipo / comprobación de sintaxis)
- Con los requisitos más complejos del JavaClass de código es más limpio (en comparación con poner variables al pageContext en JSP)
- EL (lenguaje de expresión) añadir más potencia a la JSP / taglib pero eso es otra sintaxis de nuevo y se necesita aprender
¿Hay mejores prácticas sobre cómo abordar esto? Puesto que hay otros colegas, que probablemente tienen que mantener esto en el futuro, estoy buscando una solución / mantenible limpia - Usted probaly todos saben la situación cuando se miraba al código somebodies y aunque "¿qué demonios era él / pensamiento seh" ;)
Solución
He mantenido esta bastante simple en el pasado.
Use taglibs cuando el objetivo es la presentación. Digamos que tiene un bloque de código de visualización que se va a reutilizar en un montón de páginas, en el caso de stackoverflow, digamos que el código de flecha. Desde que debe ser sólo la visualización de datos, no debe necesitan y código Java, y me gustaría utilizar un taglib.
Uso de Java de código cuando se necesita convolución de datos. Si usted tiene que buscar en un paquete de recursos o aplicar algún formato no genérica a algo, me gustaría utilizar el código de Java, aunque prefiero funciones JSTL a etiquetas para este.
No utilice cualquiera de las bases de datos de acceso.