在一个STRUTS2 工程中 
页面: 
<form action="login.action" method="post">
username:<input type="text" name="uaccount.username">
password:<input type="text" name="uaccount.password">
type:<input type="text" name="uaccount.type"> 
<input type="submit">
</form>相应ACTION配置:
        <action name="login" class="com.sjob.struts.user.action.LoginAction">
        <result name="index">/index.jsp</result>
<interceptor-ref name="defaultStack"></interceptor-ref> 
        </action> ACTION 代码:
public class LoginAction extends ActionSupport{
private Uaccount uaccount;
public String execute() throws Exception {
System.out.println("**********run in execute @@@@@@@@@@@@");
System.out.println("***********name="+uaccount.getUsername());
System.out.println("***********password="+uaccount.getPassword());
return "index";
}

public void setUaccount(Uaccount uaccount) {
System.out.println("***** runn int loginAction setaccount"+uaccount);
this.uaccount = uaccount;
}
}问题:在ACTION中如果setUaccount(Uaccount uaccount)这个方法会随着页面中 
username:<input type="text" name="uaccount.username">
password:<input type="text" name="uaccount.password">
这样的属性个数而调用几次(如页面有三个属性文本,则在调用三次setUaccount(Uaccount uaccount)进行绑定),并且每次都帮定一个属性值,就是说最后得到的只一个个属性的值,其它全部为NULL. 如上面的ACTION在控制台输出
***** runn int loginAction setaccountcom.sjob.hibernate.pojo.Uaccount@150a0
***********runn int set password=bbbbbbb
*****com.sjob.hibernate.pojo.Uaccount@150a0
***** runn int loginAction setaccountcom.sjob.hibernate.pojo.Uaccount@6399ae
***** runn int loginAction setaccountcom.sjob.hibernate.pojo.Uaccount@56d6cf
***********runn int set useranme=aaaaaaaa
*****com.sjob.hibernate.pojo.Uaccount@56d6cf
[INFO ] 2009-05-04 11:19:29 com.opensymphony.xwork2.validator.ActionValidatorManagerFactory - Detected AnnotationActionValidatorManager, initializing it...
**********run in execute @@@@@@@@@@@@
***********name=aaaaaaaa
***********password=null