复习Java期间:
今天对原生的写项目方式进行复习,在基本增删改查时遇到了一个小小的问题,就是前端在读取我将session内的数据一直读取不到,错误提示是一直没有找到该字段名:如下:
javax.el.PropertyNotFoundException: 类型[com.luo.dao.TProjectDao]上找不到属性[ProjectId]
报错代码段:
<c:forEach items="${select}" var="Project">
<tr>
<td width="33%" height="30" align="center" bgcolor="#FFF5D7"><span class="txt">${Project.ProjectId}</span></td>
<td width="34%" height="30" align="center" bgcolor="#FFF5D7"><span class="txt">${Project.ProjectName}</span></td>
<td width="34%" height="30" align="center" bgcolor="#FFF5D7"><span class="txt">${Project.PeputyName}</span></td>
<td width="34%" height="30" align="center" bgcolor="#FFF5D7"><span class="txt">${Project.Pelephone}</span></td>
<td width="34%" height="30" align="center" bgcolor="#FFF5D7"><span class="txt">${Project.Addr}</span></td>
<td width="33%" height="30" align="center" bgcolor="#FFF5D7"><span class="txt">【修改】【删除】</span></td>
</tr>
</c:forEach>
然后我找来找去也不知道哪的问题:最后发现是驼峰命名的问题,原来我将变量名的首位字母设置成了大写的,导致我在前端写变量名时也写成大写的变量名,而前端严格要求驼峰命名来,而我没有按照,所以就一直说找不到该属性。
解决办法:
(1):将前端的参数的首字母改成小写
(2):将属性名(dao类里面的跟数据对应的变量)和前端获取参数时的首字母全改成小写