2010-12-07 8 views
6

Estoy comenzando un proyecto de Java donde el cliente ha ordenado el uso de XHTML 1.0 Strict. JSF Facelets, al estar basado en XHTML, pareció una buena opción al principio, pero descubrí que no se puede hacer que produzcan XHTML Strict, y esto se considera a very low priority issue por parte de la comunidad.¿Existe un framework web Java que pueda producir de manera confiable XHTML 1.0 Strict?

¿Existen otros frameworks de Java compatibles con la representación como XHTML Strict? ¿Qué pasa con las bibliotecas de etiquetas JSTL?

+0

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). –

+1

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

+2

eso aparte: un requisito estricto no es algo bastante razonable. ¿Qué pasa si lo siguiente que quieren es que funcione en IE6 :) – Bozho

Respuesta

1

La documentación para Spring Web MVC 2.0.x indica que las bibliotecas de etiquetas asociadas producen HTML4.0.1/XHTML1.0 marcado válido. Ese podría ser un buen punto de partida, ya que esperaría que 2.5 y probablemente incluso 3.0 también lo admitan.

http://static.springsource.org/spring/docs/2.0.x/reference/mvc.html

+1

No tiene sentido enlazar con versiones antiguas. Aquí está la versión actual: http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/mvc.html –

+0

XHTML 1.0 Transitional o XHTML 1.0 Strict? Hay una gran diferencia, y dudaría en poner mucha confianza en un documento que lo ignora. Además, la versión actual ya no contiene ninguna declaración sobre XHTML. –

+1

Contiene una declaración, está justo en un lugar diferente en la documentación: http://static.springsource.org/spring/docs/3.0.x/reference/spring-form.tld.html – kdonald

5

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.

+0

Simplemente curioso: ¿es fácil enlazar acciones sin la etiqueta '' de Spring MVC? ¿No genera el atributo 'name'? (que no es válido según XHTML Strict) – BalusC

+0

'

' - formulario generado de mi proyecto reciente. Entonces no genera un nombre. Incluso si lo hiciera, podría usar '' y establecer 'acción' y' método' - son suficientes. – Bozho

Cuestiones relacionadas