我需要在JSTL中有条件地包装一个html元素。
例如,我需要根据条件将部分文本转换为链接,如下所示。
<c:if test="${not empty link}">
<a href='${link)" target="_blank">
</c:if>
${value}
<c:if test="${not empty value.link}">
</a>
</c:if>
显然上面的代码无效。我实际上正在寻找一些巧妙的方法来做到这一点。
<c:wrap_if element="a" href="${link}" target="_blank">
${value}
</c:wrap_if>
是否有可用的标签。我应该自己写吗?或者有更好,更清洁的方法吗?
答案 0 :(得分:1)
你可以用这样的结构来做到这一点:
<c:choose>
<c:when test="${not empty link}">
<a href="${link}" target="_blank">${value}</a>
</c:when>
<c:otherwise>
${value}
</c:otherwise>
</c:choose>
答案 1 :(得分:0)
你也可以使用它 -
<c:set var="myHtml" value="${value}" />
<c:if test="${not empty link}">
<c:set var="myHtml" value="<a href='${link)' target='_blank'>${value}</a>" />
</c:if>
${myHtml}