开发过程中,dwr里面传递list无疑是最好的解决方法,方便而且快捷,但是前提是这个list内部必须是一个封装好的对象,那么问题产生了,如果这个list里面存放不是一个对象呢?比如说从两个或者多个表里面取出一些数据集成到一起,那么需要怎么传递到页面上,又怎么显示呢?
所以只能传递数组了,但是数组的size如何获取?只能通过list的size转化了,简单代码如下:
- /**
- *
- * @param id
- * @return
- * @author 李晗
- */
- public Object[] getModelById(String id)
- {
- int i=Integer.parseInt(id);
- LawModel lm=this.lawDocumentsService.getLawModelById(i);
- List<Object> u=new ArrayList<Object>();
- u.add(0, lm.getModelName());
- List list= this.lawDocumentsService.find("from ModelOrder mo where mo.lawModel.id="+i);
- Iterator iterator=list.iterator();
- while(iterator.hasNext())
- {
- ModelOrder mo=(ModelOrder)iterator.next();
- u.add(mo.getPeople().getRealName());
- }
- int size=list.size();
- Object[] str=new Object[size];
- //list到数组转化
- for(int k=0;k<size;k++)
- {
- str[k]=u.get(k);
- }
- return str;
- }
前台页面回调函数里面直接遍历这个数组即可
- function ShowIt(id)
- {
- return LawDocumentsDWR.getModelById(id,setModel)
- }
- function setModel(date)
- {
- for(var i in date)
- {
- html+=。。。。。;
- }
- document.getElementById("div").innerHTML=html;
- }