部分代码:
java端:
public List testList(){
List list = new ArrayList();
TestBean t1 = new TestBean();
t1.setUserid("11111");
t1.setUsername("testName1");
TestBean t2 = new TestBean();
t2.setUserid("22222");
t2.setUsername("testName2");
TestBean t3 = new TestBean();
t3.setUserid("33333");
t3.setUsername("testName3");
list.add(t1);
list.add(t2);
list.add(t3);
//list.add("1111");
//list.add("2222");
//list.add("3333");
return list;
}
客户端读取java传回的list集合:
<table id='table' border="1" >
<tbody id="t1">
<tr>
<td width='30%'>id</td><td width='70%'>name</td>
</tr>
<tr>
<td width='30%'>1111</td><td width='70%'>namename</td>
</tr>
</tbody>
</table>
<script>
function testList(){
TestDWR.testList(callBackList);
}
function callBackList(data){
//读取java返回list添加到表格
DWRUtil.removeAllRows("t1"); //此处参数即可为tbody的id,也可以为table的id
alert(data[0].username);
var cellfuncs = [function(item){return item.userid;},
function(item){return item.username;} //function的参数名可自定义
];
DWRUtil.addRows('t1', data,cellfuncs); //t1为tbody的id,而不能为table的id
}
</script>
体会: 直接使用DWRUtil.addRows函数来增加表行,在实际业务中用处不大[如某些列数据与后台数据无关系]。最好的办法是自己写js代码来调用java返回的js数据对象。