有条理地在Facelets中呈现纯HTML属性

时间:2015-03-23 10:06:48

标签: html jsf attributes facelets conditional-rendering

我想有条件地呈现纯HTML <div>元素的属性。我尝试使用<c:if>

,如下所示
<ui:composition
        xmlns:ui="http://java.sun.com/jsf/facelets" 
        xmlns:c="http://java.sun.com/jstl/core"
        xmlns:f="http://java.sun.com/jsf/core" 
        xmlns:h="http://java.sun.com/jsf/html">        

    <div data-product-id="#{ID}" 
        <c:if test="${not empty testvalue1}">
            data-test1-for="#{testvalue1}"
        </c:if>
        <c:if test="${not empty testvalue2}">
            data-test2-for="#{testvalue1}"
        </c:if>
    >
        div content
    </div>
</ui:composition>

然而,它产生了一个Facelet例外:

  

com.sun.facelets.FaceletException:Error Parsing /assets/template/module/container/product/product-marker.xhtml:Error Traced [line:9] Element type&#34; div&#34;必须遵循属性规范,&#34;&gt;&#34;或&#34; /&gt;&#34;

如何有条件地呈现纯HTML <div>元素的属性?

1 个答案:

答案 0 :(得分:1)

您不需要那些if语句。如果值为空,则不会自动在页面上呈现属性。