【发布时间】:2010-10-29 06:30:16
【问题描述】:
我正在做一个使用 JSF 2.0 和 Facelets 的项目。
我已阅读文档,说明<ui:debug/> 标签在按下 CTRL-SHIFT-D 时会提供有价值的故障排除信息。但这对我永远不起作用。请任何人告诉我我错过了什么。
(我尝试了各种热键,仍然没有成功。例如:<ui:debug hotkey="a"/>)
【问题讨论】:
我正在做一个使用 JSF 2.0 和 Facelets 的项目。
我已阅读文档,说明<ui:debug/> 标签在按下 CTRL-SHIFT-D 时会提供有价值的故障排除信息。但这对我永远不起作用。请任何人告诉我我错过了什么。
(我尝试了各种热键,仍然没有成功。例如:<ui:debug hotkey="a"/>)
【问题讨论】:
确保您选择的密钥不是由网络浏览器本身保留的。对于 Firefox,一个不错的选择是 x。
<ui:debug hotkey="x" />
与问题无关,我建议添加一个rendered属性,以确保它不会在生产环境中弹出。例如
<ui:debug hotkey="x" rendered="#{facesContext.application.projectStage == 'Development'}" />
结合web.xml中的这个
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
【讨论】:
facelets.XXX 是 Facelets 1.x 特有的,javax.faces.FACELETS_XXX 是 Facelets 2.x 特有的(它成为 JSF 2.x 的一部分)。 facelets.XXX 在 JSF 2.x 中已弃用,但仍向后兼容。
在我放置
之前,我也无法让它工作<ui:debug hotkey="k" />
在 TEMPLATE 文件的开头,而不是实际页面。我在 web.xml 中添加了以下内容(但已经提到过):
<context-param>
<description>
Enables the ui:debug facelets tag.
</description>
<param-name>javax.faces.FACELETS_DEVELOPMENT</param-name>
<param-value>true</param-value>
</context-param>
抱歉,回答晚了,但我让它在 Firefox 3 上像这样工作。我不认为这是你的弹出窗口阻止程序。调试弹出窗口通常会被阻止,但您会收到通知(就像我一样)。
【讨论】:
另一种方式:
将以下内容添加到 web.xml
<context-param>
<param-name>javax.faces.DEVELOPMENT</param-name>
<param-value>Development</param-value>
</context-param>
并将<ui:debug hotkey="k"/>添加到模板的HTML部分(不一定要放在开头)
【讨论】: