ssh--表单提交action bean只有一个属性有值

可能有的小伙伴们就遇到了这种问题, 表单提交到action对象中, 进行注入时, 发现只有一个属性有值, 有细心的小伙伴们就发现了每一个表单属性(也就是input标签,要注入到哪个bean中)就会重新创建一个对象, 导致最后一个bean里面只有最后一个表单属性传过来的值, 这个问题我一直以为是框架问题, 后面发现是有个方法没写 导致出现这种问题.代码如下: 

jsp中有一个表单: 提交到action的login方法中;

用户名
密码
 

action中login方法如下:

private SysUser user;
	
public String login(){
	System.out.println(user);
}

public void setUser(SysUser user) {
	this.user = user;
}

有发现什么吗? 有的小伙伴跟这个action是不是如出一辙呢, 请继续往下看

action.xml配置: 

	
        //这个ua引用的是spring主配置文件(applicationContext.xml)中的bean对象,指向action类
		
			/index.jsp
		
	

然后在jsp页面登录运行, 就出现了bean对象只有一个值,其余属性值都为null, 这是什么原因呢? 其实只需要加个方法就能完美解决.

只需要在action中加个get方法就可以完美解决

​
private SysUser user;
	
public String login(){
	System.out.println(user);
}

public void setUser(SysUser user) {
	this.user = user;
}

public SysUser getUser() {
	return user;
}

​

登录运行 打印出:

SysUser [usrFlag=null, usrId=null, usrName=fdsa, usrPassword=vcxz, usrRoleId=null]

因为只提交了用户名跟密码所有只有这两个有值

 

 

你可能感兴趣的:(ssh--表单提交action bean只有一个属性有值)