struts通过spring自动注入产生的错误

本文介绍了一个UserAction类的实现,该类继承自ActionSupport并实现了ModelDriven接口。文章详细展示了UserAction类中的属性及其getter和setter方法,并解释了如何通过执行execute方法来添加用户。此外,还讨论了解决bean注入冲突的方法。

public class UserAction extends ActionSupport implements ModelDriven{
 
	private UserRegisterInfo userRegisterInfo = new UserRegisterInfo();	
	
	private UserManager userManager;
	
	private List<User> users;
	
	private User user;
		
	public UserRegisterInfo getUserRegisterInfo() {
		return userRegisterInfo;
	}

	public void setUserRegisterInfo(UserRegisterInfo userRegisterInfo) {
		this.userRegisterInfo = userRegisterInfo;
	}
	
	public UserManager getUserManager() {
		return userManager;
	}

	public void setUserManager(UserManager userManager) {
		this.userManager = userManager;
	}
	
	public List<User> getUsers() {
		return users;
	}

	public void setUsers(List<User> users) {
		this.users = users;
	}

	public User getUser() {
		return user;
	}

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

	public String list(){
		users = userManager.getUsers();
		return "list";
	}
	
	public String load(){
		user = userManager.loadById(userRegisterInfo.getId());
		return "load";
	}

	@Override
	public String execute() throws Exception {
		User user = new User();
		user.setUsername(userRegisterInfo.getUsername());
		user.setPassword(userRegisterInfo.getPassword());
		if(!userManager.exists(user)){
			return "error";
		}
		userManager.add(user);
		return "success";
	}

	@Override
	public Object getModel() {
		return userRegisterInfo;
	}
}
	<bean id="user" class="com.spring.registration.action.UserAction" scope="prototype">
		<property name="userManager" ref="userManager"></property>
	</bean> 


由于UserAction中有属性user,而bean中也有一个user,所以会把UserAction注入到public void setUser(User user)的user中,会出现上述错误。

解决办法就是把bean中的user换个名字,也可以去掉actin的bean。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值