返回列表 发帖

spring中,结合jquery使用的dwr

我要用DWR返回多条记录也就是list吧
请问我在dwr.xml中如何配置?页面又如何接收呢?
1:dwr.xml中:
<dwr>
<allow>
     <create javascript="jsDepmInfoService" creator="spring" scope="application">
         <param name="beanName" value="depmInfoService"/>
         <param name="location" value="applicationContextService/applicationContext-dwr.xml"/>
         <include method="getDepmList"/>
     </create>
     <convert converter="bean" match="com.dwr.model.Depm"></convert>
</allow>
</dwr>

2:jsp页面
  function getDepmList() {
    alert("getDepmList");
//1:转化为一个javaBean
var depm = {orgidt : orgidt, depmnum : depmnum};
    //alert("orgidt="+depm.orgidt+", depmnum="+depm.depmnum);
    //2:使用dwr组件
jsDepmInfoService.getDepmList(depm, function(depm) {
       alert("回调="+depm);
  });
  }

DWR的假象是远程方法调用。

原理是通过DWR的包装,根据服务器端程序生成js 其中数据的发送和接收都是DWR包装过的。

类型转换也是DWR完成的。

如果我没有记错的话List DWR可以默认是自动帮你转换的,你直接接收就好了。

JS里并没有List 对应的类型是数组。也就是你接收到的是一个js数组。

[ 本帖最后由 奇淫合欢散 于 2008-7-31 19:23 编辑 ]

TOP

请问如果还要根据返回的数据(List即DWR中的数组)动态构建一个可编辑的级联下拉列表(即选择下拉择框的选项是是根据返回的数据生成,并且当你不想选时可直接输入值),要如何做?

TOP

首先你要用回调函数取得那个数组的值。
us.method(arg1 , arg2 , 回调函数);
说明:method是DWR映射的服务器端方法名 arg1,arg2是需要的参数,必须和服务器端对应,回调函数自己定义

例如:
function callback(data)
{
alert(data);
}

回调函数必须有个参数,那个参数就是你接收到服务器端的响应。一般来说 也就是那个数组。

第二步就是根据那个数组来生成一个下拉列表。这个实现的方法有很多。可以自己写JS 也可以使用DWR utils.js的
DWRUtil.addOptions("element" , array);
注意:element就是你要添加下拉选项的那个select的标签,array是你接收到的那个数组 这就添加好了。

第三个要求有点变态。在接收请求的那端如果不加任何额外处理的话,以我的功力没办法实现- -。。希望牛人来搞下。

TOP

奇淫合欢散老师,当我点击事件时直接报JS错误,根本没走后台, 请老师能否给个各个环节的配置的例子阿

TOP

错误消息:
2008-08-01 09:38:28,323  WARN [http-8080-Processor24] (CommonsLoggingOutput.java:67) - Marshalling exception
org.directwebremoting.extend.MarshallException: Error marshalling com.dwr.model.Depm: Max depth exceeded when dereferencing c0-e1. See the logs for more details.

TOP

自己调试下什么原因, 就上面那个信息, 很难知道什么问题

TOP

能给个例子吗

TOP

你是要jQuery的例子还是DWR的例子

TOP

呵呵 我很贪心的 能把2个例子都给我吗 谢谢 boxiong兄

TOP

返回列表