【发布时间】:2011-03-30 20:49:32
【问题描述】:
是否可以将 cmets 嵌入我的 .xhtml 文件中,这些文件只显示在源文件中而不是呈现的结果中?
我想在文件中包含作者、日期、...,但最终用户在生成的输出中不应该看到它们。如果我使用标准评论标签<!-- -->,浏览器会显示它们。
【问题讨论】:
标签: jsf jsf-2 comments facelets invisible
是否可以将 cmets 嵌入我的 .xhtml 文件中,这些文件只显示在源文件中而不是呈现的结果中?
我想在文件中包含作者、日期、...,但最终用户在生成的输出中不应该看到它们。如果我使用标准评论标签<!-- -->,浏览器会显示它们。
【问题讨论】:
标签: jsf jsf-2 comments facelets invisible
将以下内容添加到您的web.xml:
<context-param>
<param-name>javax.faces.FACELETS_SKIP_COMMENTS</param-name>
<param-value>true</param-value>
</context-param>
这样Facelets 将在解析视图xhtml 模板时跳过cmets。
【讨论】:
JSF 中不可见的 cmets 是一个缺点,特别是对于初学者。我同意 Minchev 先生的回答。无论如何,我提供了一种替代方法来评论 JSF 中的内容,包括使用 ui:remove
<ui:remove> This is a comment </ui:remove>
UI Remove 标签用于指定 Facelets 视图处理程序在编译时应从您的页面中删除的标签或内容块。这个标签没有属性。您可以使用此标记来指示应从呈现的页面中删除特定标记。
删除design time 期间需要的内容很有用,但在运行时不需要,例如 cmets、一些有助于填充页面内容以适应视觉布局的存根内容(例如“lorem ipsum”) Dreamweaver 等设计师。
见:Practical implications of Facelets ui:remove tag
请注意,Facelets编译过程比 JSP 编译过程快得多,因为当您第一次访问页面时,实际上并没有在后台生成和编译 Java 字节码。 UI Remove 标签用于指定 Facelets 视图处理程序在编译时应从页面中删除的标签或内容块。这个标签没有属性。
【讨论】:
错了,正确的方法是:
<context-param>
<param-name>facelets.SKIP_COMMENTS</param-name>
<param-value>true</param-value>
这对我有用,javax.faces.FACELETS_SKIP_COMMENTS 不!
【讨论】: