struts2封装表单数据(对象的对象的属性)到Action对象 5

表单页面<formaction="testRecord"method="post"><inputname="records.user.age"value="1"/><in... 表单页面
<form action="testRecord" method="post">
<input name="records.user.age" value="1"/>
<input name="records.detail" value="哈哈"/>
<input name="records.user.age" value="2"/>
<input name="records.detail" value="呵呵"/>
<input type="submit" value="提交"/>
</form>

User类属性:
private Integer age;

Record类属性:

private Integer id;
private User user; //这里使用User对象作为属性
private String detail;

Action页面
private List<Record> records=new ArrayList<Record>();

注:getter和setter方法都设置好了的,那2个类的无参构造方法也设置了

测试:
1、把 <input name="records.user.age" />这2行去掉,程序正常,Action中的 Record集合的每个Record对象的detail属性都有值

2、不把 <input name="records.user.age" />这2行去掉,程序报错,显示Record对象的user属性为空,无法把age的属性值赋值到user中

问题:为什么Action封装数据时遇到Record对象的属性时就会自动创建Record对象,并把其对应的属性值赋值到Record对象中,但是遇到Record对象的属性User对象的属性时不会自动创建User对象,我想在Action的records集合中也能获取Record对象的User对象的age,那该怎么做?
问题自己搞定了,表单页面改成
<form action="testRecord" method="post">
<input name="records[0].user.age" value="1"/>
<input name="records[0].detail" value="哈哈"/>
<input name="records[1].user.age" value="2"/>
<input name="records[1].detail" value="呵呵"/>
<input type="submit" value="提交"/>
</form>
展开
 我来答
匿名用户
2014-03-02
展开全部
初始化action时,给user赋值,在execute里面。

不然页面上要判断user是否null
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式