1

我想有条件地呈现普通 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] 元素类型“div”必须后跟任一属性规范,“>”或“/>”

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

4

1 回答 1

1

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

于 2015-03-23T10:57:56.900 回答