struts2 解决浏览器post提交值Actionz还能获取第一个参数的问题

本文探讨了在使用form表单POST数据到action时遇到的问题,特别是user对象中username和password属性获取不一致的情况。通过在Action类中增加getUser()方法解决了此问题,并提供了完整的代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<form action="UserAction_login.action" method="POST" >
    <input type="text" name="user.password"/>
      <input type="text" name="user.username"/>
      
      <input type="submit" text="登陆"/>
    </form>

使用form表单post数据到action,

public class UserAction extends ActionSupport implements SessionAware{	
	private Map session;
	private User user;
	
	public String login(){
		String result;
        System.out.println("login-----"+user.getUsername()+" "+user.getPassword());
    	UserHibernateDaoImpl userDao=new UserHibernateDaoImpl();
    	User loginUser=userDao.login(user.getUsername(),user.getPassword());
    	userDao.closeSession();
    	if(loginUser==null){
    		result=LOGIN;
    	}else{
        	session.put("user", loginUser);
        	result=SUCCESS;
    	}
    	return result;
    }
    
	public void setSession(Map session) {
		this.session = session;
	} 
	public void setUser(User user) {
		this.user = user;
	}
    
}
但是很奇怪 ,每次都能获取到user.getUsername() 而user.getPassword()却为空,

当表单前后颠倒 每次都能获取到uuser.getPassword()而user.getUsername()却为空,

前提是User类中getter和setter都正确

后来就在Action中加了getUser()就好了

public User getUser() {
return this.user;
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值