使用jstl启用按钮选择时
问题描述:
我想显示一个基于foreach
中的值的启用或禁用按钮。它应该检查值是否为“真” - 一个字符串并显示一个看起来可用的按钮(html按钮)。如果它是假的,它应该看起来被禁用。如果getConnectionStatus
是真的使用jstl启用按钮选择时
<table border ="1">
<tr class ="tableheading">
<td>UniqueId</td><td>ClientId</td><td>Request Date and Time</td><td>Connection Status</td></tr>
<c:forEach items="${list}" var="item">
<tr class ="rowstyle">
<td class ="rowstyle">${item.getUniqueId()}</td>
<td >${item.getClientId()}</td>
<td >${item.getRequestDateTime()}</td>
<c:choose>
<c:when test = "${item.getConnectionStatus == true}">
<td ><a href="screenviewer.html?clientID=${item.getClientId()}"><button style = "width:60px">${item.getConnectionStatus()}
</c:when>
<c:otherwise>
<td ><a href="screenviewer.html?clientID=${item.getClientId()}"><button disabled style = "width:60px">${item.getConnectionStatus()}
</c:otherwise>
</c:choose>-->
</button></a></td>
</tr>
</c:forEach>
</table>
的<td>
与按钮应显示。
例外:
org.apache.jasper.JasperException: An exception occurred processing JSP page /DisplayClientLoginDetails.jsp at line 44
44号线:
44:<c:when test = "${item.getConnectionStatus == true}">
Bean类:
public class ClientLoginBean {
private String UniqueId,ClientId,RequestDateTime,connectionStatus;
public String getUniqueId() {
return UniqueId;
}
public void setUniqueId(String UniqueId) {
this.UniqueId = UniqueId;
}
public String getClientId() {
return ClientId;
}
public void setClientId(String ClientId) {
this.ClientId = ClientId;
}
public String getRequestDateTime() {
return RequestDateTime;
}
public void setRequestDateTime(String RequestDateTime) {
this.RequestDateTime = RequestDateTime;
}
public String getConnectionStatus() {
return connectionStatus;
}
public void setConnectionStatus(String ConnectionStatus) {
this.connectionStatus = ConnectionStatus;
}
}
答
没有充分例外很难确切地知道,我的猜测是你的测试语句test = "${item.getConnectionStatus == true}"
中的吸气剂。下面是一些Oracle文档一个小片段,
如果value-a是JavaBeans对象,强制值-B为String。如果value-b是value-a的可读属性,则返回get调用的结果。如果get方法抛出异常,则返回错误。
您是否尝试过用EL的隐式getter方法访问你的项目connectionStatus(删除得到并更改属性值较低的情况下)?
<c:when test="${item.connectionStatus == true}">
你忘了告诉你得到的例外。现在你在黑暗中拍摄了一个完全错误的答案。一个很好的例外已经代表了整个答案。我们有能力以通俗的词汇翻译他们,所以你终于明白他们。只要将它们包含在问题中,不要忽视它们,就好像它们是装饰一样。 – BalusC
@BalusC。我编辑了这个问题来添加例外 – Abhi
太棒了!然而,这不完全是例外本身。这只是一个非正式的消息。它清楚地表明“发生异常”。这不是例外。现在,请在服务器日志中找到该异常。如上所述,它代表了整个答案。 – BalusC