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

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。
问题解决! 希望我对这个问题的总结对你有所帮助

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值