在使用DWR的时候,解决值得传递问题,可以通过回调函输实现对客户端的javascript的函数的调用。
同时可以通过DWR实现了通过javascript对java的调用。所以DWR解决了在Java和javascript之间的互相调用问题。
但是在实际的调用过程中,有些问题还是需要解决的,如:
如何在回调中传递串对象?
如何回调中传递Java对象?
如果,能实现传递串对象,其实,已经可以实现了在javascript和java之间的数据传递,也可以通过在java上组合成json串返回,就可以实现,和对象的轻松转换。
如果能实现传递对象,那不就省去了很多的问题,但是,这个问题,我也没有搞定。
不过象下面的例子,已经可以实现返回一个new Date()的Object对象了。不过,我看了一下,应该返回的是一个Date的串对象。
如下代码,是在Dwr中的调用
javascript:
ChatManager.regist(username,{
callback:function(obj){
alert("call back");
alert("obj : " + obj);
var map = getMap("theMap");
alert(map.x);
}});
JAVA:
public Object regist(String username,HttpServletRequest request){
System.out.println("regist user "+ username);
updateUsersList(username,true,request);
return new User("aaa","dsfdssdfdsf");
}
只有在此 regist方法有返回值得情况下,回调函数才能取到传入的值。
传递的如果是串类的对象,没有问题,如果我传递的是一个对象,就不能取到。
如
public Object regist(String username,HttpServletRequest request){
System.out.println("regist user "+ username);
updateUsersList(username,true,request);
return new A("myname");
}
注意:A是一个inner class,是在ChatManager里面定义的内部类。
class A{
private String uname;
public A(String uname){
this.uname = uname;
}
public String getUname(){
return this.uname;
}
};
这种情况下,回调函输取得的就是null.
来源于:http://www.blogjava.net/zhyiwww/archive/2008/09/26/231268.html
分享到:
相关推荐
然而,“修改后的dwr框架无需回调函数”意味着这个封装后的版本可能已经内置了处理响应的机制,从而省去了开发者手动编写回调函数的步骤。这种改进提高了代码的可读性和可维护性,减少了出错的可能性。 在这个框架...
在这个场景中,我们关注的是如何在DWR回调函数中处理从服务器返回的`List<Bean>`类型的数据。 首先,我们需要在服务器端定义一个Java方法,该方法会返回一个`List<Bean>`。例如,假设我们有一个名为`User`的Java ...
根据提供的部分代码内容,我们可以看到一个简单的例子展示了如何在DWR中获取回调函数的返回值。 ##### 1. 后端Java类定义 首先,我们需要定义一个Java类,用于提供服务端的方法供前端调用。在这个案例中,定义了一...
在这个例子中,DWR自动处理了参数的序列化和反序列化,以及异步调用的回调函数。 5. **安全性**: 在生产环境中,确保关闭调试模式,因为公开的调试页面可能暴露敏感信息。同时,你还可以通过DWR的安全特性,如IP...
在使用DWR的时候,回调函数可以作为第一个或者最后一个参数出现,如: JScript code function callBack(result){ } myDwrService.doSomething(param1,param2,callBack);//DWR的推荐方式 //或者 myDwrService....
- 使用DWR提供的回调函数处理响应数据。 8. **学习资源**: - 该中文文档将详细介绍DWR的安装、配置、使用方法以及常见问题的解决,是学习DWR的重要参考资料。 通过深入学习这份DWR中文文档,开发者不仅可以掌握...
调用`sayHello`方法后,DWR会自动发送一个HTTP请求到服务器,并在得到响应后执行回调函数。 **安全性和优化** DWR提供了一些安全特性,比如白名单机制,限制哪些类和方法可以被远程调用。此外,通过缓存和批量调用...
`firstDwr()`函数调用了`ajaxjs.sayHello()`,传递了一个参数"Jorwen",并定义了一个回调函数`callBackHello`来处理返回的数据。`hello()`函数则获取用户输入的值,并通过`sayHello()`方法传递给服务器,同样有一个...
7. **事件处理与回调**:在JavaScript中,DWR提供了事件监听器和回调函数,使得用户可以自定义在远程调用成功或失败时的行为。 8. **错误处理与调试**:文档会介绍如何处理DWR调用过程中出现的错误,以及如何开启...
- **简单的回调函数**:介绍如何使用DWR进行异步调用,并在调用完成后执行回调函数。 - **调用元数据对象**:元数据对象包含关于服务和方法的信息,可以用来动态生成客户端调用代码。 DWR2.0中文文档不仅是一份详尽...
2. **高阶函数**:解释如何使用函数作为参数或返回值的函数,提高代码的可复用性。 3. **动态类型**:探讨JavaScript的动态类型系统如何影响对象的行为。 4. **灵活的对象模型**:分析JavaScript中对象模型的特点,...
6. **批量调用与回调**:DWR支持批量调用多个服务器方法,并且可以在一个回调函数中处理所有结果。这对于处理大量数据或执行多个操作的场景非常有用。 7. **DWR的事件机制**:DWR提供了一套事件监听系统,允许你在...
9. **安全考虑**:在实际项目中,使用DWR时需要注意安全性问题。暴露给JavaScript的服务器端方法可能会引发安全风险,因此需要谨慎设置DWR的访问权限,避免敏感数据和操作被不授权的用户调用。 通过这个简单的DWR...
5. **使用DWR**:在JavaScript中,你可以通过DWR创建一个远程对象实例,然后像调用本地函数一样调用远程Java方法。DWR会自动处理数据序列化和反序列化,以及异步调用的处理。 6. **DWR的API**:DWR提供了几个核心...
在DWR中,可以定义回调函数来处理服务器返回的数据。例如,`onSuccess`和`onError`函数是常见的回调函数: - `onSuccess`: 当服务器成功响应并返回数据时,这个函数会被调用,通常用于将接收到的数据显示在页面上。 ...
- **Callback Function**:服务器端方法执行完毕后,通过回调函数处理返回结果。 5. **高级特性**: - **Batching**:批量调用,一次发送多个请求到服务器,减少网络往返次数。 - **Polling**:轮询机制,客户端...
5. **处理返回结果**:服务器返回的结果会在JavaScript回调函数中得到,可以直接用于更新DOM元素。 **DWR与Tomcat的集成** 由于DWR是一个基于Servlet的框架,因此它可以方便地与任何支持Servlet的Web服务器集成,...