JSTL標籤庫中<c:choose></c:choose>不能放JSP頁面<!-- -->註釋
筆者最近在使用JSTL標籤庫的<c:choose>標籤時候,發現在該標籤體中加了JSP的<!-- -->註釋時,總是會顯示報錯信息。錯誤的信息如下:
<span style="font-size:18px;">org.apache.jasper.JasperException: <h3>Validation error messages from TagLibraryValidator for c in /list.jsp</h3><p>69: Illegal text inside "c:choose" tag: "<!-- wh...".</p></span>
在<c:choose></c:choose>中並不是不能放<!-- -->註釋,而是不能直接放在該<c:choose></c:choose>標籤體內。如果<c:choose></c:choose>中還有其他標籤(例如<c:when></c:when>),把<!-- -->註釋放在其中還是可以的。或者如果要在<c:choose></c:choose>註解,可以使用<%-- --%>註釋。
例子如下:
<c:choose>
<!-- 在<c:choose></c:choose>下,該註釋格式“不可用 ” -->
<%-- 在<c:choose></c:choose>下,該註釋格式“可用 ” --%>
<c:when test="">
</c:when>
<c:otherwise>
<!-- 在<c:choose></c:choose>下的其他標籤體,該註釋格式“可用 ” --!><span style="font-family: Arial, Helvetica, sans-serif;"></span>
</c:otherwise>
</c:choose>