错误:javax.el.PropertyNotFoundException: Property 'uId' not found on type vo.UserInfo
相关源码:<c:forEach items="${userList}" var="vo">
<tr align="center" height="10px">
<td align="center" onClick="showUser('${vo.uId}')">
<font color="blue">${vo.uRealName}</font> 
</td>
我的想法:我觉得可能是因为我的vo.UserInfo这个类实现了序列化implements Serializable,因为我在别的代码处没有找到问题,而我的UserInfo类一定要实现序列化,请高人指点谢谢

解决方案 »

  1.   

    Property 'uId'  楼主是用hibernate的么?我好像听别人说在hibernate里java实体里第二个字母是不能大写的!这样在封装的时候就会变成setUId也许会导致在页面大小写不对而出错
      

  2.   

    userList中保存的是否是UserInfo对象,UserInfo对象中是否有getUId方法
      

  3.   

    回复二楼,我没有用hibernate,而且大小写,我都试过了,不行啊
      

  4.   

    回复三楼,有这个方法,我专门注意了这方面,况且我用的是自动生成set和get方法
      

  5.   

    userList对象没有指定泛型吧?应该是
    List<UserInfo> userList;而不是
    List userList;//这样ORM传入Object,则当然找不到Property。
      

  6.   

    我有指定,List<UserInfo> list = um.showAllUsers();
              for (Iterator<UserInfo> iterator = list.iterator(); iterator.hasNext();) {
    UserInfo user = (UserInfo) iterator.next();
    System.out.println(user.getURealName());
    }
      request.setAttribute("userList", list);
    这就是我的代码,数据可以正常在控制台显示。
      

  7.   

    UserInfo对象下的属性uId(注意大小写,),${vo.uId}这里面的要和属性值大小写一致。
      

  8.   

    public class UserInfo implements Serializable{

    private String uId;

    public String getUId() {
    return uId;
    }
    public void setUId(String id) {
    uId = id;
    }
    这是我vo的部分源码,是一样的啊
      

  9.   

    <td align="center" onClick="showUser('${vo.uId}')">改成<td align="center" onClick="showUser('${vo.UId}')">才可以。
    原因的话我不想再说了,原来说过很多次。