作者在 2011-09-18 14:02:28 发布以下内容
最近做了个小项目,这两个月一直都在忙着学日语的,项目的东西忘了很多了!也就是在郑州时候做了点东西,忘得差不多了!
发现在整个项目中,数据读取,页面传值其实是很麻烦的,自己总结了一点点
只用于单纯的Action与页面传值和显示
一.返回list集合,集合中是多个user对象,需要取用的是user对象中的属性值,结果页面出现为空值
场景还原:1.action中有private List list;对象,并且给list集合赋值返回时list集合并不传递出来而是返回字符串,页面从#request中去取值
在<body>后添加<s:set name="list" value="#request.list"></s:set>
由于专家信息是在下拉列表中显示的所以下面是:
<select name="projectCategory.expert.expertid">
<s:iterator id="user" value="#list.user">
<option value="<s:property value="uid"/>">
<s:property value="username"/>
</option>
</s:iterator>
</select>
出错很正常,因为把request.list赋值给了list,此时list代表 的就是user对象集合,而不再是list,value应该是#user,再加
list一定取不到值,因为它找不到对象
正确的做法是 a.把value 设为#user
b.去掉<s:set name="list" value="#request.list"></s:set>
然后<select name="projectCategory.expert.expertid">
<s:iterator id="user" value="#request.list">
<option value="<s:property value="uid"/>">
<s:property value="username"/>
</option>
</s:iterator>
</select>
2.返回的是对象
场景还原:1.action中有private List list;对象,并且给list集合赋值返回时list集合并不传递出来而是返回字符串,页面从#request中去取值
在<body>后添加<s:set name="list" value="#request.list"></s:set>
由于专家信息是在下拉列表中显示的所以下面是:
<select name="projectCategory.expert.expertid">
<s:iterator id="user" value="#list.user">
<option value="<s:property value="uid"/>">
<s:property value="username"/>
</option>
</s:iterator>
</select>
出错很正常,因为把request.list赋值给了list,此时list代表 的就是user对象集合,而不再是list,value应该是#user,再加
list一定取不到值,因为它找不到对象
正确的做法是 a.把value 设为#user
b.去掉<s:set name="list" value="#request.list"></s:set>
然后<select name="projectCategory.expert.expertid">
<s:iterator id="user" value="#request.list">
<option value="<s:property value="uid"/>">
<s:property value="username"/>
</option>
</s:iterator>
</select>
2.返回的是对象
<s:set name="unit" value="#request.unit"></s:set>
<s:textfield id="unit.address" value="%{unit.address}"
name="unit.address"></s:textfield>
name="unit.address"></s:textfield>