我不明白为什么会收到错误:
结束标记“< / c:when”不平衡
运行此代码时:
<c:choose>
<c:when test="${label == 'Apple'}">
<form:form modelAttribute="fruit" action="/fruit/${fruitId}" method="post">
<form:input path="fruitId" type="hidden" value="${fruitId}"/>
</c:when>
<c:when test="${label == 'Orange'}">
<form:form modelAttribute="fruit" action="/fruit/${fruitId}" method="post">
<form:input path="fruitId" type="hidden" value="${fruitId}"/>
</c:when>
</c:choose>
答案 0 :(得分:7)
您有一个未公开的<form:form>
标记。
答案 1 :(得分:0)
在我的情况下,我发现问题是使用html注释语法来注释掉JSTL代码。因此,重新检查包含JSTL语法的html文件,以检查是否已经犯了同样的错误。 请参阅以下示例:
<!-- <security:authorize access="hasAnyRole('ASSOC_COMPANY','PUBLIC_COMPANY', 'INDIVIDUAL')"> -->
将上述评论更改为以下评论。
<%-- <security:authorize access="hasAnyRole('ASSOC_COMPANY','PUBLIC_COMPANY', 'INDIVIDUAL')"> --%>
答案 2 :(得分:0)
对我来说,我忘记了关闭JSTL标签。
这是我应该修复的地方
<c:set var="attendance" value="${hallManager.selectAttandanceRegisterByAttID()}" >
在我更改为这个之后就可以了。
<c:set var="attendance" value="${hallManager.selectAttandanceRegisterByAttID()}" />
或
<c:set var="attendance" value="${hallManager.selectAttandanceRegisterByAttID()}" ></c:set>
一些技巧可以快速解决此问题: 如果您有像Netbeans这样的IDE,请尝试 1.折叠所有标签,然后展开一个标签,查看未关闭的标签。 2.键入“,然后查看弹出菜单(如果已启用)。如果有未关闭的标签,它将显示。