笔者最近在使用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>