为什么我的表单只提交最后一个值

小弟最近刚学SSH开发在协议个登录界面的时候不知道为什么表单只提交最后的password其他的值并不进行传值:
这是等录界面代码:
[code="html"]



/s:textfield
/s:password
/s:submit
/s:form
[/code]
Action的代码:
[code="java"]
public class UserAction extends ActionSupport {
/**
 * 
 */
private static final long serialVersionUID = 1L;

private TUser user;
private TUserDao userDao;


public TUser getUser() {
    return user;
}


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


public TUserDao getUserDao() {
    return userDao;
}


public void setUserDao(TUserDao userDao) {
    this.userDao = userDao;
}


// 用户登录
public String login() {
    TUser tu = userDao.checkLogin(user);
            //打印取到的值
    System.out.println(user.getUsername() + "-----" + user.getUserpassword());
    if (tu != null) {
        // 把数据添加到Session
        Map<String, Object> session = ActionContext.getContext().getSession();
        session.put("user", tu);
        return SUCCESS;
    } else {
        return ERROR;
    }
}

}
[/code]
为什么 在login()方法 抛出一个异常后 就可以读取全部的form表单,而不抛异常就只有最后一个

小弟的积分较少 求各位大神指教

你把你的action的
[color=red] private TUser user; //--- 把这user 改成 tuser 然后重新生成set和get[/color]
private TUserDao userDao;

public TUser getUser() {  
    return user;  
}  


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

Tuser如何定义的

你把你的异常掉出来看看撒!还有就是看你这两个框
/s:textfield

/s:password

name 属性 user后面的跟你TUser对象里面的属性是否对应(包括大小写),还看看是否有对应的setter方法
其他的把你的那个错贴出来看看