`

属性命名不遵守javaBean规范导致版本升级后获取不到值

    博客分类:
  • java
 
阅读更多
如下所示:
  struts2 Action中存在如下定义的iName属性,strust2由2.3.15.x升级到最新版本,eclipse使用4.4.2,后台iName属性获取不到前台传过来的值,为空。
public class XxxxAction {
   private int iName;
   private int age;


	public int getIName() {
		return iName;
	}

	public void setIName(int iName) {
		this.iName = iName;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}
   
   
}


经查阅资料可知:
1. 对于常规属性  <propertyName> , 属性名称的第一个单词小写且之后的小写字母的个数大于1,第二个单词首字母大写  。对应的getter/setter方法名为:get /set +  <PropertyName>(), 即属性名称的第一个单词的首字母改成大写, 前面再加上"get"或"set"前缀。
如:userName   getUserName() setUserName()
2. 对于布尔类型 <propertyName> , 可以按常规属性的规则编写getter/setter方法外, getter方法可以使用 is +  <PropertyName>()的形式来代替。

3. 对于非常规属性<pName>, 属性名称的第一个单词小写且字母个数等于1,第二个单词首字母大写 。
    老的Eclipse版本(不知道哪个版本开始的) 对应的getter/setter方法名可以为:get/set +  <PName>(), 即第一个单词的首字母为改为大写,前面再加上"get"或"set"前缀
 

总结:

1. javaBean属性命名规范按照javaBean规范进行命名
2. 属性名第一个单词尽量避免使用一个字母:如eBook, eMail。
3. 随着jdk, eclipse, struts2,spring等软件版本的不断提高, 低版本的出现的问题可能在高版本中解决了, 低版本原来正常的代码可能在高版本环境下不再支持。


碰到的坑好大,一直排查是框架升级后导致的值注入不进来。在此总结下经验教训。
分享到:
评论

相关推荐

    JAVA项目更新升级程序

    6. **部署流程**:有效的升级程序会有一套规范的部署流程,包括备份当前状态、安装新版本、验证新版本功能、切换到新版本以及回滚机制。这个流程需要自动化和脚本化,以减少人为错误和提高效率。 7. **测试**:在...

    mybatis逆向工程升级版工具

    在实际项目中,数据库表名和字段名往往不符合Java命名规范,或者需要与业务逻辑保持一致。升级版工具允许开发者自定义规则,将数据库中的表名和字段名转换为更合适的Java标识符,从而避免了手动修改大量代码的繁琐...

    tomcat5.5.28支持EL 表达式的解决方法.

    在探讨如何使Tomcat 5.5.28支持EL(表达式语言)之前,我们首先需要理解EL...然而,考虑到Tomcat 5.5.28的版本较老,建议在条件允许的情况下升级至更现代的Tomcat版本,以获得更好的性能、安全性和对最新技术标准的支持。

    4.代码生成器的应用1

    - 如果在Eclipse环境下遇到问题,可能需要尝试更换IDE,如从旧版本升级到Eclipse Kepler。 3. **业务表配置**: - 支持多数据源和视图表,使得开发更为灵活。 - 表配置包括物理表名、描述、实体类名以及父表信息...

    Java EE 应用程序入门指南

    1. **EJB 3.1 无状态会话Bean**:企业JavaBean(EJB)3.1是EJB规范的一个里程碑式升级,它减少了对注解的依赖,使得创建会话Bean变得更加简单。无状态会话Bean通常用于执行业务逻辑,不维护任何会话状态,因此可处理...

    计算机毕业论文 (jsp)

    JavaBean组件遵循一定的命名和编码规范,通常包含公共属性和方法,并且无状态。在JSP项目中,JavaBeans常被用作数据载体,用于存储从表单提交的数据或其他需要传递给JSP页面的数据。 **1.3 JDBC技术简介** JDBC...

    Spring.3.x企业应用开发实战(完整版).part2

    Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。  Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...

    Spring3.x企业应用开发实战(完整版) part1

    Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。  Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...

    JavaEE(权威)

    - **J2EE 1.3**(2001 年 9 月发布):通过 JSR 58 发布,这个版本改进了 J2EE 1.2 中一半的规范,并引入了 XML API、连接器架构和安全框架。 - **J2EE 1.4**(2003 年 11 月发布):该版本进一步改进了 J2EE 1.3 中...

    jsp写的北雨商城系统

    【文件名称】"北雨商城系统bay_eshop v2.0.0"表明这是一个名为"bay_eshop"的项目,版本号为2.0.0,通常代表这是一个升级版,相较于之前的版本可能有功能上的增强和错误修复。"bay_eshop"可能是开发者或团队的自定义...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    而越来越多专业知识的 Blog 的出现,让我们看到了 Blog 更多所蕴涵的巨大的信息价值:不同的 Blog 选择不同的内容,收集和整理成为很多人关注的专业 Blog ——目前越来越多的人获取信息的来源是一些固定的 Blog 。...

Global site tag (gtag.js) - Google Analytics