关于uId

最近在做一个项目,架构是struts2,spring3.2,mybatis3.0
在jsp页面中写了如下代码
<input type="hidden" value="${user.id }" name="ret.uId"/>

其中${user.id}是从session中得到用户的id,输出正常
name="ret.uId"是通过spring的IOC自动注入到action中的实体类
但结果发现ret.uId在提交到的Action中怎么都拿不到值,其他的值都一切正常
经过测试发现,原来秘密在这里:
这是实体类中的属性
private String uId;
	
	
	public String getuId()
	{
		return uId;
	}
	public void setuId(String uId)
	{
		this.uId = uId;
	}

大家发现了什么了吗?呵呵,对,就是getuId()和setuId(),
eclipse中自动生成的get()set()方法时将字段的首字目大写,例如:
private String checkType ;
public String getCheckType()
	{
		return checkType;
	}
	public void setCheckType(String checkType)
	{
		this.checkType = checkType;
	}

但不知会什么,在eclipse自动生成get(),set()时uId的首字母没有被大写,这导致了spring注入属性值时找不到uId的对应方法,当我们把uId的set(),get()方法修改为
private String uId;
	
	
	public String getUId()
	{
		return uId;
	}
	public void setUId(String uId)
	{
		this.uId = uId;
	}


那么一切正常了。

你可能感兴趣的:(UI)