Pregunta

He realizado programación Java y JSP en el pasado, pero soy nuevo en Java Server Faces y quiero saber si existe un conjunto de mejores prácticas para el desarrollo JSF.

¿Fue útil?

Solución

Algunos consejos:Comprender la solicitud JSF ciclo vital y dónde encajan sus diversos fragmentos de código.Descubra especialmente por qué los valores de su modelo no se actualizarán si hay errores de validación.

Elija una biblioteca de etiquetas y luego manténgala.Tómese su tiempo para determinar sus necesidades y crear prototipos de diferentes bibliotecas.Mezclar diferentes taglibs puede causar daños graves a su salud mental.

Otros consejos

Considere usar facetas- Simplifica enormemente las peores partes del desarrollo de JSF.Estoy haciendo un proyecto JSF basado en CMS ahora sin facetas (después de hacer un proyecto con él) y siento que me falta el brazo izquierdo...

Recomiendo encarecidamente contratar a alguien con experiencia en JSF para que dirija su primer proyecto en JSF, incluso si esto significa pagarle a un contratista durante 3 meses.El enfoque JSF es muy diferente al JSP.La forma en que abordas y resuelves los problemas es muy diferente.

Bibliotecas

Considere las siguientes bibliotecas:

Arquitectura

Abarcar mvc no sólo es necesario saber lo que esto significa, sino también utilizarlo ampliamente.

Hay dos patrones principales para asociar controladores con las vistas.

Estilo Dot Net, controlador de una solicitud por vista

Cada página de nivel superior tiene un controlador de ámbito de solicitud (bean). Todas las validaciones y acciones de la página utilizan esta clase.También se utiliza para filtrar y ordenar el modelo.El modelo se almacenará en algunos controladores de nivel de sesión que se encargarán de hablar con el back-end (EJB o capa de persistencia). Estos controladores de sesión deben implementar la lógica empresarial y no tener conocimiento de JSF, HTML ni ninguna tecnología de presentación.

Los controladores son de nivel de sesión.

Diseñe controladores basados ​​en su modelo de datos, anídelos entre sí.(Esta publicación se está volviendo demasiado larga, por lo que no entraré en los detalles prácticos).

Conocimiento requerido

Todos:

Al menos una persona:

  • Crear componentes personalizados
  • Limitaciones a JSF (botón de retroceso, navegación aleatoria, etc.)
  • Bibliotecas de depuración de terceros (al menos una persona debe sentirse cómoda desglosando el depurador y entrar en la implementación de JSF (más fácil con implementaciones de código abierto como myfaces)))
  • Añade mi voto por las facetas.Recientemente actualicé un proyecto para usar facelets y resuelve algunos problemas importantes con jsf, especialmente brindándote un sistema de plantillas decente listo para usar y permitiéndote usar html estándar cuando sea apropiado, sin envolverlo "textualmente". -etiquetas.
  • RestFaces es una solución al problema de obtención/publicación del que mucha gente se queja.También está bien documentado y es fácil de usar.
  • No utilice muchas etiquetas.Hace que el trabajo sea mucho más difícil al actualizar.
  • SEAM recopila muchas de las mejores prácticas de JSF, pero aún no las he usado, por lo que realmente no puedo recomendarlas, solo te recomiendo que las eches un vistazo.

He estado usando la implementación IBM de JSf y tengo algunos comentarios.No es un mal camino a seguir, pero hay que comprometerse con el "estilo de vida" de IBM.Han escrito su propia etiqueta lib que amplía el estándar JSF.Si logra permanecer dentro de Rational Application Developer (RAD) (que no se actualiza con TAN frecuencia), la integración a veces tiene errores, pero en general es decente.Además, la integración con WebSphere es bastante buena.A menos que su empleador juegue golf con IBM, creo que es mejor ser lo más básico posible.

Todavía no conozco una "mejor práctica" para la validación entre campos/nivel de formulario.

Es decir, la validación JSF actualmente está orientada a la validación de un solo campo.En mi opinión, se pone feo cuando nos fijamos en una validación compleja de nivel de formulario/campo cruzado.

Viejo pero todavía me parece correcto.http://weblogs.java.net/blog/johnreynolds/archive/2004/07/improve_jsf_by_1.html

http://www.jroller.com/robwilliams/entry/jsf_multi_field_validation_not

Puedes consultarlo en el siguiente enlace donde podrás encontrar artículos interesantes.

http://www.jsftutorials.net/

Seleccione una buena biblioteca de componentes. No use richfaces, le sugiero que no use jsf, use spring mvc, jquery para view y json en una arquitectura rest.pero si es necesario, utilice Primefaces, es fácil de usar y tiene suficientes componentes.

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