当我尝试在<c:if ...>...</c:if>
标记内执行form:input
之类的操作时,我在控制台中收到form:input
尚未关闭的错误。
有谁知道为什么会这样,以及最干净的解决方案? (可能是set var
然后是${result of c:if}
)
答案 0 :(得分:3)
您不能以这种方式使用<c:if>
:
<form:input type="text" ... <c:if test="${empty bla}">disabled="disabled"</c:if>/>
在你的情况下,你必须写:
<form:input type="text" ... disabled="${empty bla}" />
(注意Spring 3.0.1中修复的相关错误https://jira.springframework.org/browse/SPR-6790)
答案 1 :(得分:2)
与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'}" />