我在会话中设置了一个会话范围对象,我想使用JSTL三元运算符在我的一个按钮中添加一个禁用属性。
getPermission是当前登录用户的权限映射,但我不确定为什么在进入此JSP时,我在JSP中遇到错误unterminated c:out tag
。
<button type="button" id="addButton"
<c:out value="${empty sessionScope.voUserInfo.getPermission.ADD_ITEM ? "disabled='disabled'" : ''}"/> >
ADD
</button>
答案 0 :(得分:7)
价值中的第一个双引号是太早破坏价值。您应该仅使用单引号来表示EL中的字符串,而不是双引号。您应该仅使用双引号来表示HTML属性值。
<button id="add" <c:out value="${empty var ? 'disabled="disabled"' : ''}"/>>
(请不要注意Stackoverflow代码语法荧光笔,它无法正确识别taglibs / EL,以上是合法有效的)
或者,当您使用JSP 2.0或更新版本时,只要没有XSS风险,您甚至可以离开c:out
(由于您正在打印服务器,因此不是这种情况 - 控制值)。
<button id="add" ${empty var ? 'disabled="disabled"' : ''}>