日期:2014-05-18  浏览次数:20666 次

使用DWR如何调用带有复杂数据结构的对象的方法
小弟在做一个项目

用到了DWR

我在服务器端
一个Bean和一个DTO
Java code

 public class MyBean
 {
   private String s1;
   private String s2;

 }

 public class MyDTO
 {
    private Map mapOne;
     
    private Map mapTwo;

     /*这两个Map里是这样的结构: 
                       Map
                          key1:ListA
                                 List1
                                     {MyBean1,MyBean2,MyBean3......}
                                 List2
                                     {MyBean5,MyBean6,MyBean7......}
                                 List3
                                   .
                                   .
                          key2:ListB
                                 ListN
                                     {MyBean10,MyBean11,MyBean12.......}
                                 ListN+1
                                  等等

     */

 }





还有一个服务类
Java code

public class Service
{
    public void MyService(MyDTO myDTO)
    {
          //业务逻辑操作
    }
}




我想在浏览器端调用Service.MyService

但是不知道应该在dwr.xml里如何配置方法以及对象的信息

在网上找了很多

都是方法参数或者返回值是一个List,Map里面放对象的

没有一个对象里含有Map和List的

所以才来请教大家

希望高手们指点指点

谢谢


------解决方案--------------------
DWR配置

XML code


    <create creator="new" javascript="service">
                <param name="class" value="com.SysService" />
            </create>
            <convert converter="bean" match="com.Desk">
                <param name="include" value="Id,Name,persons" />
            </convert>

------解决方案--------------------
GG
------解决方案--------------------
~~~~
------解决方案--------------------
看不懂啊,很想帮你`````~~~~~~~~~~~~~~~
------解决方案--------------------
这个框架没用过,不过听说过,官方应该改有帮助文档的吧,lz看看呗
------解决方案--------------------
在java这个层把那个对象拆成字符串集合,然后到了js里边再解析出来。

------解决方案--------------------
用json数据格式进行数据交互.
------解决方案--------------------
学习。。。
------解决方案--------------------

------解决方案--------------------
学习到很多
------解决方案--------------------
探讨
晕~

怎么没人帮我啊~

高手在哪里啊?

------解决方案--------------------
首先dwr.xml中要配置转换器和执行类
Java code

<dwr>
    <allow>
                <!--转换器,如果你的数据结构是bean里面还有bean,则所有的bean都得配置转换器-->
        <convert match="com.fly.entity.SvseSatisfactionOrder" converter="bean">
            <param name="include" value="svseEmployee,svseCourse,svseClass"></param>
        </convert>
        
                <!--配置dwr调用的类方法-->                
        <create javascript="orderService" creator="new">
            <param name="class" value="com.fly.service.OrderService"></param>
            <include method="getQualificationById"/>
        </create>
    </allow>
</dwr>