javax.el.PropertyNotFoundExceptionProperty 'Tid' not found on type com.msz.sims.domain.Teacher
不知道大家與沒有遇到類似的問題
以下分類討論:
Teacher:
public class Teacher {
private int Tid;//注意到Tid的第一個字母是大寫,這里是關鍵哦
省略getters和setters。。。
}
Action:
public String execute() {
Map request = (Map)ActionContext.getContext().get("request");
request.put("teacherInfo",TService.listAll(Teacher.class));
return "success";
}
//注釋TService.listAll(Teacher.class)的返回值是一個List,里面存放的是若干Teacher對象
jsp:ognl & jstl
<s:iterator value="#request.teacherInfo" id="teacher">
<tr>
<td>
<s:property value="#teacher.Tid" />
</td>
</tr>
</s:iterator>
<c:forEach var="ts" items="${request.teacherInfo}">
${ts.tid}
</c:forEach>
注意到區別沒有?我們可以看到,ognl解析時,對Teacher類的Tid屬性保存了原有的大小寫規范,而jstl的解析方式就大不相同了,相信大家也注意到了
jstl會將Tid全轉換為小寫,所以必須用ts.tid而不是ts.Tid
從javabean的設計角度來說:根據 JavaBeans 規范,屬性的前兩個字母不能是一大一小,或者是一小一大。前兩個字母只能全是小寫,
或者全是大寫字母(具體可見:http://blog.csdn.net/yunye114105/article/details/7364264)
在此提出只是做一個反面教材,希望大家能在以后的開發中注意,不要犯和我一樣的錯誤
總結
以上是生活随笔為你收集整理的javax.el.PropertyNotFoundExceptionProperty 'Tid' not found on type com.msz.sims.domain.Teacher的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ArcGIS中定义查询和属性查询的SQL
- 下一篇: 照片修复软件有哪些?这几款照片修复软件快