问题
在JSF 2.0中,注释掉这样的JSF标记
JSF…
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
>
<h:body>
<!--
<h:commandButton type="button"
value="#{msg.buttonLabel}" />
-->
</h:body>
</html>
但是,JSF仍然处理值表达式并将结果输出到生成的HTML页面。 假设#{msg.buttonLabel}返回“ Submit”消息。
生成的HTML页面…
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<!--
<h:commandButton type="button"
value="Submit" />
-->
</body>
</html>
有没有办法完全注释掉JSF标签? 值表达式上没有处理或没有出现在最终生成的HTML页面中?
解
注释掉JSF标签有两种方法:
1. facelets.SKIP_COMMENTS
在web.xml中,将“ facelets.SKIP_COMMENTS ”参数设置为“ true ”。
<context-param>
<param-name>facelets.SKIP_COMMENTS</param-name>
<param-value>true</param-value>
</context-param>
现在,JSF删除了<!– –>中包含的任何内容。
JSF…
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
>
<h:body>
<!--
<h:commandButton type="button"
value="#{msg.buttonLabel}" />
-->
</h:body>
</html>
生成的HTML页面…
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
</body>
</html>
2. ui:删除
或者,您可以使用“ ui:remove ”标签来定义要删除的内容。 例如,
JSF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
>
<h:body>
<ui:remove>
<h:commandButton type="button"
value="#{msg.buttonLabel}" />
</ui:remove>
</h:body>
</html>
生成的HTML页面…
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
</body>
</html>
下载源代码
下载它– JSF-2-Remove-Tag-Example.zip (10KB)
参考
标签: jsf2
翻译自: https://mkyong.com/jsf2/how-to-use-comments-in-jsf-2-0/