java - docs - spring form tags submit button
Componentes Spring MVC & UI (4)
Estoy en la fase de "selección de tecnologías" de una pequeña aplicación web de una sola página que estará fuertemente basada en AJAX y que se reportará a un backend de Java.
En una pregunta anterior que publiqué hace varias semanas, la comunidad de SO en general sentía firmemente que sería mejor ir con una aplicación web basada en Spring MVC que con algo en JSF. Dado que Spring está orientado a solicitudes y JSF está orientado a componentes, tendría sentido utilizar Spring para algo que va a recibir muchas solicitudes asincrónicas.
Si fuera la ruta JSF, mi próximo conjunto de decisiones sería si usar o no las llamadas bibliotecas de componentes UI para la tecnología de visualización, como PrimeFaces , IceFaces o MyFaces .
Entonces, me pregunto: ¿Spring MVC tiene algo similar a, digamos, PrimeFaces (o sus "me gusta") para crear el componente de vista para mi (s) página (s)? Sé que no está basado en componentes, pero no estoy muy familiarizado con la plataforma web de Spring MVC y me preguntaba cuáles son algunos estándares de facto (si los hay) o pilas de tecnología típicas que los desarrolladores web de Spring usan para construir buenas páginas web.
Y, si Spring solo usa motores de plantillas run-o-the-mill, ¿bastaría algo como Freemarker ?
Supongo que esta es una pregunta tipo "mejores prácticas" para un desarrollador web de Spring en ciernes.
¡Gracias por adelantado!
Además, aparte de las cosas mencionadas por Ludovico Fischer , si consideramos la misma pregunta en el mundo tecnológico de hoy en día que usted puede usar una de las cosas más poderosas del mundo reciente: Angular . Hay 2 escenarios de muestra.
- Si su arquitectura es del lado del cliente completo: la integración es muy natural para él. Spring MVC expone su servicio como REST (JSON / XMl ...) y su aplicación cliente con Angular JS consume su JSON. Aquí, la aplicación de guerra (Spring mvc) se debe implementar en un Servlet Container (Tomcat) y su aplicación cliente se puede implementar en el mismo servidor o en otro servidor Nginx, Apache, etc.
Si desea mantener la generación de páginas en el servidor y solo usar AngularJS para una buena manipulación DOM, entonces su código debe implementarse en la misma guerra (WEB-INF). Mezclar los dos enfoques no siempre es una buena idea. Puedes probar thymeleaf para permanecer en la generación de la página del lado del servidor.
De esta forma, puede tener simultáneamente las características geniales de la plantilla angular, la capacidad de prueba y el código de vista limpia.
Aquí hay otro enfoque (no JSF) para permitir que Spring MVC funcione con componentes ZK UI: aplicación web enriquecida con Spring MVC CRUD Demo
En ese artículo, usó el controlador Spring MVC para comunicarse con los componentes ZK UI. (todo en código Java)
Por lo general, el valor de los denominados componentes UI radica en la forma en que hacen un seguimiento de las interacciones del usuario en el lado del servidor mediante la integración con un marco con estado.
Dado que ha decidido buscar un marco orientado a solicitudes, tendría más sentido utilizar algunas bibliotecas de JavaScript conocidas del lado del cliente. Las opciones populares incluyen:
- Backbone.js - una base MVC para interfaces de usuario
- jQuery UI para algunos widgets prefabricados (calendarios, etc.)
- Si quieres ir por una ruta más compleja, pero con una sensación más parecida a la del escritorio, Sproutcore
- Finalmente, si desea evitar JavaScript, puede usar Google Web Toolkit , que compila Java a JavaScript y se supone que tiene una buena integración con Spring.
Personalmente, si no necesito muchos widgets preconstruidos estándar, me gusta Backbone.js + underscore.js + jQuery. No me gusta Google Web Toolkit, ya que se siente como escribir un pidgin JavaScript, y en ese punto prefiero escribir JavaScript directamente.
Sí, JSF está orientado a componentes y Spring MVC está orientado a solicitudes. Te recomiendo que eches un vistazo al motor de plantillas de Thymeleaf, que es un reemplazo completo del motor JSP .... Las características de Thymeleaf son:
- Permite la creación de plantillas naturales.
- Soporte de HTML5
- Mayor rendimiento mediante el uso del almacenamiento en memoria caché