该属性在bean中设置,在DAO中更新,并在设置如下时在jsp中正确显示:
<html:hidden property="user.strInfoLocked" value="${user.strInfoLocked}" />
当我使用开发人员工具时,值显示如下:
<input type="hidden" name="user.strInfoLocked" value="true">
但是我无法获得在条件语句中使用的值。我试过这个:
<c:choose>
<c:when test="${user.strInfoLocked eq 'true'}">TRUE </c:when>
<c:when test="${user.strInfoLocked eq 'false'}">FALSE </c:when>
</c:choose>
我试过这个:
<c:if test= "${user.strInfoLocked == 'true'}">
<p>My value is TRUE<p>
</c:if>
<c:if test= "${user.strInfoLocked == 'false'}">
<p>My value is FALSE<p>
</c:if
并且在这两种情况下,都会跳过整个事情。
除了bean之外,我还需要在其他地方声明这个吗?奇怪的是,这些值正确地显示出来,但是当我将它添加到逻辑中时,整个事情就变成了bezerk。
答案 0 :(得分:0)
这似乎是一种类型。您在以下声明中的eq之前错过了空间,并且您需要相同的eq:
<c:choose>
<c:when test="${user.strInfoLockedeq 'true'}">TRUE </c:when>
<c:when test="${user.strInfoLockedeq 'false'}">FALSE </c:when>
</c:choose>
Chnage it to:
<c:choose>
<c:when test="${user.strInfoLocked}">TRUE </c:when>
<c:when test="${user.strInfoLocked}">FALSE </c:when>
</c:choose>
答案 1 :(得分:0)
eq和==都应该有效。我建议你显示来自user.strInfoLocked的值,并确保它具有值&#39; true&#39;或者&#39; false&#39;。
如果将bean中的字段定义为boolean,那么布尔值也应该有效。
<c:choose>
<c:when test="${result.strInfoLocked}">Locked</c:when>
<c:when test="${!result.strInfoLocked}">Not Locked</c:when>
</c:choose>
我已经将代码测试为字符串和布尔值。两者都有效。