Struts程序中的No getter method for property错误问题

来源:互联网 发布:什么值得买源码 编辑:程序博客网 时间:2024/06/06 10:40

1、从错误提示来看, 是在相应的bean中没有getter方法,所以先看一下bean中是不是对相应的变量没有生成

getter方法

2、变量名的命名规范:struts机制对大小写是敏感的,类的属性名首字母不能用大写,比如userName就不能写成

UserName,这样在生成getter方法时就会把变量的首字母改成大写再在前面加上get构成getUserName()。我的

User.java中的变量名首字母都是小写的, 看来问题还不是这么简单。
3、jsp页面中的property对应的变量句一定要与相应的类的变量句严格一致。很遗憾,我的问题也不是出在这里。
4、自动生成getter setter时,如果未自动加上this.,那么也有可能会报这个错误
查了这么多的解决方法, 我的问题还是没有解决, 正陏闷时我的一位师兄来到实验室, 他是一位值得尊敬的编程

高手, 我把问题和他说了, 他也是按照我上面查到的解决方法一一排除了可能性,然后单眇执行程序,突然发现

在执行到list = session.createQuery("select userName,userPwd,userType,userDiscription from

User").list();一句时, list中的内容不是User类型的, 而是Object类型的。Object类中当然不会有getter方法

了! 看来原因找到了。解决方法:将list = session.createQuery("select

userName,userPwd,userType,userDiscription from User").list();改为-->list = session.createQuery("from

User").list();这样查出来的才是内容为User的List否则只是包含userName,userPwd,userType,userDiscription几

个属性的Object的List。
问题解决! 希望我对这个问题的总结对你有所帮助

原创粉丝点击