Java 为什么这段代码会产生错误;“结束标记”</c:什么时候;“不平衡吗?”;?

Java 为什么这段代码会产生错误;“结束标记”</c:什么时候;“不平衡吗?”;?,java,jsp,spring-mvc,jstl,Java,Jsp,Spring Mvc,Jstl,我不明白为什么会出现错误: The end tag "</c:when" is unbalanced 结束标记“您有一个未关闭的标记。在我的例子中,我发现问题是使用html注释语法注释掉JSTL代码。因此,请重新检查包含JSTL语法的html文件,以检查您是否犯了相同的错误。请参考下面的示例: <!-- <security:authorize access="hasAnyRole('ASSOC_COMPANY','PUBLIC_COMPANY', 'INDIVIDUAL')"

我不明白为什么会出现错误:

The end tag "</c:when" is unbalanced

结束标记“您有一个未关闭的
标记。

在我的例子中,我发现问题是使用html注释语法注释掉JSTL代码。因此,请重新检查包含JSTL语法的html文件,以检查您是否犯了相同的错误。请参考下面的示例:

<!-- <security:authorize access="hasAnyRole('ASSOC_COMPANY','PUBLIC_COMPANY', 'INDIVIDUAL')"> -->

将上面的注释更改为下面的注释

<%-- <security:authorize access="hasAnyRole('ASSOC_COMPANY','PUBLIC_COMPANY', 'INDIVIDUAL')"> --%>

对我来说,我忘了关闭JSTL标记

这是我该修的地方

<c:set var="attendance" value="${hallManager.selectAttandanceRegisterByAttID()}" >

我换了这个之后就没事了

<c:set var="attendance" value="${hallManager.selectAttandanceRegisterByAttID()}" />


快速解决此问题的一些技巧: 如果您有像Netbeans这样的IDE,请尝试 1.折叠所有标记并逐个展开以查看未关闭的标记。
2.键入“并查看弹出菜单(如果已启用)。如果有任何未关闭的标记,它将显示。

但是我不能关闭表单标记,直到稍后在JSP中。我需要这张支票。没有办法把这个放在这里吗?那就早点打开表格。如果您真的需要拆分表单,您可以根据需要使用JavaScript将值从一个填充到另一个。@Brian为什么需要在那里进行检查?两条路径都是相同的。在任何情况下,你都不能像那样随机地交织标签——就像XML或HTML一样。
<c:set var="attendance" value="${hallManager.selectAttandanceRegisterByAttID()}" />
<c:set var="attendance" value="${hallManager.selectAttandanceRegisterByAttID()}" ></c:set>