关于java变量名的命名规范
2011-08-30 09:35
399 查看
严重: Servlet.service() for servlet action threw exception
javax.servlet.jsp.JspException: No getter method for property: "×××" of bean: "×××"
出现这个错误后开始在网上查找看看有没有谁碰到过同样的问题,以便找到解决方法。在这里把我查到的解决方法
和个人的理解总结如下:
1、从错误提示来看, 是在相应的bean中没有getter方法,所以先看一下bean中是不是对相应的变量没有生成
getter方法,查看一下我的User.java中, 已经有了所有属性的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。
javax.servlet.jsp.JspException: No getter method for property: "×××" of bean: "×××"
出现这个错误后开始在网上查找看看有没有谁碰到过同样的问题,以便找到解决方法。在这里把我查到的解决方法
和个人的理解总结如下:
1、从错误提示来看, 是在相应的bean中没有getter方法,所以先看一下bean中是不是对相应的变量没有生成
getter方法,查看一下我的User.java中, 已经有了所有属性的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。
相关文章推荐
- 关于Java变量标识符的命名规范
- Java变量命名规范
- Java变量命名规范
- java基础之Java变量命名规范 (转载)
- java基础之Java变量命名规范 (转载)
- java中的变量命名规范
- 关于Java包名的命名规范
- java变量命名规范
- java命名规范,action中变量写了getset方法,页面取不到值
- Java基础 - Java变量命名规范
- 关于java命名规范及注释,并将javadoc的生成html
- (2)JAVA 变量 作用域 main方法 命名规范
- java基础之Java变量命名规范
- Java变量命名规范
- java变量命名规范
- JAVA中变量的类型及命名规范
- java变量命名规范
- java学习之旅12--变量_成员变量和局部变量_常量_命名规范
- Java变量命名规范【转】
- 初学java--变量、属性、方法命名以及类命名规范