在JSTL中有条件地包装html元素

时间:2013-08-16 11:22:58

标签: html spring jsp spring-mvc jstl

我需要在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>

是否有可用的标签。我应该自己写吗?或者有更好,更清洁的方法吗?

2 个答案:

答案 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}