是否有一个 Java Web 框架可以可靠地生成 XHTML 1.0 Strict?
我正在启动一个 Java 项目,其中客户强制要求使用 XHTML 1.0 Strict。基于 XHTML 的 JSF Facelets 起初似乎是一个不错的选择,但我发现它们无法生成严格的 XHTML,这被认为是 社区优先级非常低的问题。
是否还有其他支持呈现为 XHTML Strict 的 Java 框架? JSTL 标签库怎么样?
I'm starting a Java project where the client has mandated the use of XHTML 1.0 Strict. JSF Facelets, being XHTML-based seemed a good option at first, but I've found that they cannot be made to produce XHTML Strict, and this is considered a very low priority issue by the community.
Are there other Java frameworks that support rendering as XHTML Strict? What about the JSTL tag libraries?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我将在这里扩展我的评论。 JSF 不是一个常规的 Web 框架。它是一个基于组件的网络框架。 GWT、Vaadin、Echo 等也是如此。如果它们不产生严格的 XHTML,那么人们就很难绕过它们。 (好吧,如果您愿意,您可以更改 JSF 中的组件/渲染器)
另一方面,Spring-MVC、Struts、Grails 等框架是基于操作的 Web 框架。它们没有作为固有部件的组件。是的,它们确实提供了方便的标签库,但如果它们碰巧无法生成严格的 xhtml,您可以不用它们。例如,您可以使用
,但您也可以使用并只需设置正确的
名称
和值
。大多数基于操作的框架都依赖 JSTL 来控制视图 (JSP) 中的流程。所以没有脚本。但 JSTL 本身不渲染任何标记。因此,您可以使用 JSTL + 您手写的标记来生成严格的 XHTML。
将使用的标签库是一个不同的故事。例如,如果您想要日历,则可以使用 taglib,但它可能无法呈现正确的 xhtml。但您也可以使用 jQuery 日历 - 对于基于操作的框架来说差异不会很大。
也就是说,我有使用 Spring-MVC 和 Grails 的经验,您可以使用它们 - 它们允许对生成的标记进行细粒度控制。
I'll extend my comment a bit here. JSF is not a regular web-framework. It is a component-based web-framework. So are GWT, Vaadin, Echo and the likes. With them one cannot easily get around if they don't produce XHTML strict. (well, you can change the Component/Renderer in JSF, if you like)
On the other hand, frameworks like Spring-MVC, Struts, Grails, etc. are action-based web-frameworks. They do not have components as intrinsic parts. Yes, they do provide convenient tag libraries, but you can go without them, if they happen to be unable to produce strict xhtml. For example you can use
<form:input>
, but you can also use<input type="text" />
and just set the propername
andvalue
.Most of the action-based frameworks rely on JSTL for their flow-control in the view (JSP). So no scriptlets. But JSTL itself does not render any markup. So you can use JSTL + your hand-written markup to generate XHTML strict.
The tag libraries that will be used is a different story. For example if you want a calendar, you can use a taglib, and it might not render proper xhtml. But you can also a jQuery calendar - the difference won't be huge for an action-based framework.
That said, I have experience with Spring-MVC and Grails, and you can use them - they allow fine-grained control on the generated markup.
Spring Web MVC 2.0.x 的文档表明关联的标签库生成 HTML4.0.1/XHTML1.0 有效标记。这可能是一个很好的起点,因为我预计 2.5 甚至 3.0 也能支持这一点。
http://static.springsource.org/spring/docs/2.0 .x/reference/mvc.html
The documentation for Spring Web MVC 2.0.x indicate that the associated tag libraries produce HTML4.0.1/XHTML1.0 valid markup. That might be a good starting point, as I'd expect 2.5 and probably even 3.0 to support this as well.
http://static.springsource.org/spring/docs/2.0.x/reference/mvc.html