javax.el.PropertyNotFoundException: Property 'Sub_Token' not found on type com.sunmo.stPhone.bean.User
今天写JSTL遇到一个问题,如标题所示。第一感觉是属性名错误或没有getter setter方法,但我很清楚 bean里是有的。因此百度一下(google最近上不去了,真是伤心啊) http://blog.163.com/yvette1114@126/blog/static/134178214201121495259172/
看到这篇博客,很遗憾但是我出现的问题和这篇博客上的问题还有所不同,因此大胆尝试了一下将属性名'Sub_Token' 改成 'sub_Token' 结果成功了.... 应该算是jstl的bug吧
//代码就不全贴了 能看懂这个意思维就好
private String username; private String password; private String VoIP_PWD; private String Sub_Account; //没错 我的变量名就是大写开头的。 private String Sub_Token; private String VoIP_ID; private String create_date; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getVoIP_PWD() { return VoIP_PWD; } public void setVoIP_PWD(String voIPPWD) { VoIP_PWD = voIPPWD; } public String getSub_Account() { return Sub_Account; }
<c:forEach items="${requestScope.user_list}" var="user"> <tr class="tr"> <td class="td_center"><input type="checkbox"></td> <td><c:out value="${user.username}"></c:out></td> <td><c:out value="${user.sub_Account}"></c:out></td> //这里如果写成大写就会报错的... 无语了 下面的变量也是一样的 需要首字母小写 <td><c:out value="${user.sub_Token}"></c:out></td> <td><c:out value="${user.voIP_ID}"></c:out></td> <td><c:out value="${user.voIP_PWD}"></c:out></td> </tr> </c:forEach>