java jsp servlets freemarker

java - JSP vs FreeMarker



servlets (4)

¿JSP proporciona más flexibilidad que FreeMarker o es al revés? Mi back-end involucra Servlets. ¿Cuál se usa bajo qué circunstancias?


Creo que ya habías elegido una u otra opción. De todos modos, el comentario podría ser útil para otros. Como escribió WhiteFang, el uso de MVC es la única sugerencia altamente recomendada.

Si su aplicación está basada en la web, es muy probable que JSP sea una mejor opción, ya que se conoce mejor y se puede escribir un código de presentación bastante limpio utilizando JSTL (solo asegúrese de no mezclar los scriptlets ... todos los datos deben estar preparado en servlets y pasado a JSPs como atributos). Eligiendo JSP usted aporta valor al proyecto al permitir que los gerentes conecten fácilmente a otros desarrolladores cuando sea necesario para entregar más rápido, etc.

De todos modos, ya que ya lo tienes en FreeMarker, si la plantilla se ve bien ya, no la cambiaría. Más bien espere cuando tenga una razón comercial para cambiar. Cualquiera que sea el diseño de una aplicación, eventualmente deberá ser parcial o incluso completamente revisado. Mientras realice la programación modular y mantenga su transformación en un módulo aislado, en cualquier momento podrá cambiar fácilmente a cualquier tecnología que considere adecuada (potencialmente una nueva, mejor que FreeMarker o JSP :)).

Normalmente uso FreeMarker para aplicaciones no web. O incluso en aplicaciones web, cuando necesito generar correos electrónicos de notificación, por ejemplo, que no necesitan estar habilitados para la web. De lo contrario, JSP funciona muy bien hasta ahora.

Stef.


Hay varias bibliotecas que han estado alrededor de JSP como JSTL, DisplayTag, etc. que puede usar si elige ir con JSP. Con Freemarker, no hay tantos de ellos.

JSP está hecho a medida para páginas web, FTL es un lenguaje de plantillas más genérico: se puede utilizar para generar html, texto sin formato, correos electrónicos, etc.

Para elegir una, debes considerar qué tipo de herramientas tienes. Todos los buenos IDE de Java tienen un excelente soporte JSP. El soporte de FTL puede / no ser tan bueno.


JSP le permitirá hacer más cosas en la capa de vista, por lo que podría decir que eso lo hace más flexible. Las cosas que probablemente no deberías estar haciendo, sin embargo, podrían discutirse como un beneficio para FreeMarker. Le brindaría más control sobre lo que puede hacer la capa de vista y forzaría una mejor separación de inquietudes.

Realmente no hay ninguna respuesta correcta aquí. Técnicamente puede lograr casi cualquier cosa con cualquiera de sus UI. Sin más detalles sobre su proyecto, es difícil hacer una recomendación. Lo único que puedo decir es que probablemente debería usar el patrón MVC . Se puede lograr con cualquiera.


Mi respuesta sería definitivamente ir con Freemarker. La razón es la flexibilidad en un término de uso.

  1. No requiere contenedor de servlets, por lo que también puede procesar correos electrónicos o cualquier cosa basada en texto.

  2. En una aplicación web es posible crear módulos web como jar. Las plantillas de Freemarker se pueden cargar fácilmente desde classpath (también, Spring hace posible cargar css / js - contenido estático - desde classpath con mvc: etiqueta de recursos y escaneo en busca de controladores). Por lo tanto, un módulo web puede contener sus propias plantillas, datos estáticos y controladores.

  3. Freemarker es más poderoso en términos de crear etiquetas personalizadas, jsp hace que sea un problema. Además, las etiquetas personalizadas permiten volver a llamar al cuerpo parametrizado, lo que realmente no podrá hacer en JSP con mucha facilidad.

  4. Desde Freemarker aún puedes usar cada biblioteca de etiquetas JSP disponible sin problema :)