为什么JSPX不喜欢空元素?

时间:2012-01-13 16:16:10

标签: html jsp xhtml jspx

这个<div id="adiv"></div>将在JSPX中以某种方式转换为<div id="adiv" />。我让它工作的方式是在<div id="adiv"><!-- --></div>内添加空注释。我不明白为什么会这样,有没有更好的解决这个问题?

1 个答案:

答案 0 :(得分:8)

那是JSP specification

  

JSP.6.2.3语义模型

     

...

     

为了清楚地解释空白的处理,我们遵循的结构   XSLT规范。处理JSP文档的第一步是识别   文档的节点。 然后,所有只有空格的文本节点都是   从文件中删除;唯一的例外是jsp:text元素中的节点,   保持逐字。结果节点的解释如下所述   以下部分。模板数据要么直接传递给响应,要么直接传递给响应   通过(标准或自定义)行动进行调解。

理论中,如果您使用XHTML doctype在客户端而不是HTML doctype中显示文档,则不应该受到伤害。但是,即使是XHTML规范也要求某些元素不能自动关闭。另一种解决方法是使用<jsp:text />而不是评论。

<div id="adiv"><jsp:text /></div>
然而,JSP(X)是一种旧视图技术。它的继任者Facelets在这方面做得更好。

另见: