Voy a extender mi comentario un poco aquí. JSF no es un marco web regular. Es un marco web basado en componentes. También lo son GWT, Vaadin, Echo y los gustos. Con ellos, uno no puede moverse fácilmente si no producen XHTML estricto. (bueno, puedes cambiar el Componente/Renderer en JSF, si quieres)
Por otro lado, frameworks como Spring-MVC, Struts, Grails, etc. son frameworks web basados en acciones. No tienen componentes como partes intrínsecas. Sí, proporcionan bibliotecas de etiquetas prácticas, pero puede prescindir de ellas si no pueden producir un xhtml estricto. Por ejemplo, puede usar <form:input>
, pero también puede usar <input type="text" />
y simplemente configurar los name
y value
adecuados.
La mayoría de los marcos basados en acciones confían en JSTL para su control de flujo en la vista (JSP). Entonces no hay scriptlets. Pero JSTL por sí mismo no genera ningún marcado. Entonces puede usar JSTL + su marcado escrito a mano para generar XHTML estricto.
Las bibliotecas de etiquetas que se utilizarán son una historia diferente. Por ejemplo, si desea un calendario, puede usar un taglib y es posible que no muestre el xhtml adecuado. Pero también puede usar un calendario jQuery: la diferencia no será enorme para un marco basado en acciones.
Dicho esto, tengo experiencia con Spring-MVC y Grails, y puede usarlos, ya que permiten un control preciso del marcado generado.
Sé que las etiquetas Struts 1.3.x pueden representar xhtml, pero en cuanto a Strict ?, simplemente declaro su definición en cada página (para estar seguro). –
Bueno, cualquier cosa diferente de JSF y GWT (y similares) no produce ningún HTML en absoluto a partir de sus componentes principales. Para JSP hay taglibs que pueden o no producir html estricto, pero eso dependería de los taglibs particulares. – Bozho
eso aparte: un requisito estricto no es algo bastante razonable. ¿Qué pasa si lo siguiente que quieren es que funcione en IE6 :) – Bozho