當我嘗試在form:input
標記內執行像<c:if ...>...</c:if>
這樣的操作時,我的控制檯中出現錯誤,表明form:input
尚未關閉。EL內部表單:輸入導致未關閉標記錯誤
有沒有人有一個想法,爲什麼會發生這種情況,以及最乾淨的解決方案? (可能是set var
然後${result of c:if}
)
當我嘗試在form:input
標記內執行像<c:if ...>...</c:if>
這樣的操作時,我的控制檯中出現錯誤,表明form:input
尚未關閉。EL內部表單:輸入導致未關閉標記錯誤
有沒有人有一個想法,爲什麼會發生這種情況,以及最乾淨的解決方案? (可能是set var
然後${result of c:if}
)
與HTML標記不同,JSP標記在JSP語法中具有特殊含義,因此不能在JSP標記的任意位置使用EL表達式。 EL表達式只能在自己的屬性來使用,所以你需要像這樣(注意,不需要name
和id
,他們是從path
推斷):
<form:input path="x" title="x(dd/MM/yyyy)" maxlength="10" size="10"
class = "${(empty eee) ? 'date' : ''}"
disabled = "${(not empty ccc) ? 'true' : 'false'}" />
不能使用<c:if>
這樣:
<form:input type="text" ... <c:if test="${empty bla}">disabled="disabled"</c:if>/>
你的情況,你必須寫:
<form:input type="text" ... disabled="${empty bla}" />
(注意固定在Spring相關的bug 3.0.1 https://jira.springframework.org/browse/SPR-6790)
類似<形式:INPUT TYPE = 「文本」 ...的禁用= 「禁用」 /> –
jack
2010-11-29 10:05:02