2011-12-26 17 views
4

我不明白爲什麼我得到的錯誤:爲什麼此代碼會生成錯誤「結束標記」</c:何時「不平衡」?

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

時運行這些代碼:

<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> 

回答

6

你有一個未關閉<form:form>標籤。

+0

但是直到後來在JSP中,我才能關閉表單標籤。我需要這張支票。在這裏沒有辦法做到這一點嗎? – Brian 2011-12-26 01:43:59

+1

然後再打開窗體。如果您確實需要拆分表單,則可以根據需要使用JavaScript將值從一個填充到另一個。 – ziesemer 2011-12-26 01:45:19

+1

@Brian你爲什麼需要那個支票?兩條路徑都是一樣的。無論如何,你不能隨意交織這樣的標籤 - 想象它就像XML或HTML。 – 2011-12-26 01:54:36

0

在我的情況下,我發現這個問題是使用html註釋語法來註釋掉JSTL代碼。因此,請重新檢查包含JSTL語法的html文件,以檢查您是否犯過同樣的錯誤。 請參考下面的例子:

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

改變上述評論到下面的評論。

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