jsf 2.0 中的不可见评论? [复制]

Posted

技术标签:

【中文标题】jsf 2.0 中的不可见评论? [复制]【英文标题】:Invisible comments in jsf 2.0? [duplicate] 【发布时间】:2011-03-30 20:49:32 【问题描述】:

是否可以将 cmets 嵌入我的 .xhtml 文件中,这些文件只显示在源文件中而不是呈现的结果中? 我想在文件中包含作者、日期、...,但最终用户在生成的输出中不应该看到它们。如果我使用标准评论标签<!-- -->,浏览器会显示它们。

【问题讨论】:

【参考方案1】:

将以下内容添加到您的web.xml

<context-param>
    <param-name>javax.faces.FACELETS_SKIP_COMMENTS</param-name>
    <param-value>true</param-value>
</context-param>

这样Facelets 将在解析视图xhtml 模板时跳过cmets。

【讨论】:

无变化。我的 jboss 5.1 仍然尝试在 cmets 之间运行内容。【参考方案2】:

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 视图处理程序在编译时应从页面中删除的标签或内容块。这个标签没有属性。

Examples of both comment options

【讨论】:

【参考方案3】:

错了,正确的方法是:

<context-param>
    <param-name>facelets.SKIP_COMMENTS</param-name>  
    <param-value>true</param-value>  

这对我有用,javax.faces.FACELETS_SKIP_COMMENTS 不!

【讨论】:

问题是关于 JSF 2.x,而不是 1.x。 JSF 2.0 已经在 5 年前推出。也许是时候赶上?

以上是关于jsf 2.0 中的不可见评论? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

评论区抽奖程序2.0

评论区抽奖程序2.0

Java多人博客系统-2.0版本-数据库设计

CSS 纯CSS Web 2.0风格评论泡泡

如何从 Android Studio 中的特定文件中删除所有评论? [复制]

粉丝页面上的 Facebook Like Widget,评论区域超出可见区域