0

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

有没有这样的标签。我应该自己写吗?还是有更好更清洁的方法来做到这一点?

4

2 回答 2

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>
于 2013-08-16T11:40:20.620 回答
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}
于 2013-08-16T11:51:31.003 回答