1.提示“缺少对象”
原因:
程序中使用了dwr.util.setValue("userInfo",data);或getValues()之类的语句。而控件ID与这里的userInfo名字不匹配,则提示缺少对象。
解决方法:
检查每一个setValue中的控件ID名称,保证一一对应。
如果依然找不到错误,则可能是由于setValue()中的控件无法也结果值绑定,可以再一个一个试一试。
2.提示“java.lang.SecurityException: CSRF Security Error”
原因:
安全性问题
解决方法:
修改 web.xml 中 DWR 配置信息, 加入跨域调用配置信息(红色部分),修改为:
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>org.directwebremoting.spring.DwrSpringServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>crossDomainSessionSecurity</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>allowScriptTagRemoting</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
3.DWR3提示"DWRUtil未定义"
原因:
DWR2的Bug
解决方法:
在调用 DWRUtil 之前先加如下语句
if (typeof window['DWRUtil'] == 'undefined')
window.DWRUtil = dwr.util;
4.DWR3中调用JAVA的List类问题
现象:
当JAVA返回的方法为List类型时,可能会出现以下问题
1.通过dwr/页面测试,也无法获取List对象
2.通过dwr/页面测试,可以获取List对象,但是在jsp页面上提示"error"
3.显示为null可未定义对象
原因:
DWR3依然不够稳定,我遇到以上问题后,找遍了网上的所有方法,结果却解决不了问题,但是偶然把问题解决了,再还原以前的设置,却不报错。由于修改JAVABEAN类后,WEB服务器自动重启,应该不是缓存的问题。如果再遇到类似问题,只能通过排除法解决了。以下给出解决方法的方法。
解决方法:
1.在dwr.xml中添加要用的属性名
<allow>
<create creator="new" javascript="UserOK">
<param name="class" value="dwrexam.UserService"/>
</create>
<convert match="dwrexam.UserBean" converter="bean">
<param name="include" value="userName,userPassword"/>
</convert>
</allow>
2.在ModelBean中,添加不带参数和带参数的构造函数
public UserBean(){
}
public UserBean(String userName,String userPassword){
this.userName=userName;
this.userPassword=userPassword;
}
3.找一个最新的dwr.jar包,我在官网上下的dwr.jar包大小为1104K。但是我从别人代码中下的dwr.jar包为1204K,大一点的JAR包把问题解决。
4.把项目重新布置到WEB,删除WEB服务器中的缓存文件,在work目录下
5.如果还不能解决,只在重新启动电脑了,让上帝保佑你吧
5.DWR3中调用addRows出错
现象:
返回类型必须是List类型,可能会出现以下问题
数据在网页上不断重复,比如第一个字段显示AA,第二个字段显示AABB,第三个字段显示AABBCC
原因:
DWR3的BUG。
解决方法:
把dwr.jar包换成最新的,问题解决。dwr.jar的大小为1104K。
补充个细节:在专门为DWR服务的类中,只要写java调用和数据库交互的DAO,不论是自己写的JDBC或者是hibernate映射的DAO,都会导致测试页面对应的方法弹出Error,不过这个只是针对从数据库读取数据返回值类型为JavaBean和List这两种情况,对于返回基本类型的情况则是正确的!如果不是同数据库交互,返回javaBean和List就都不会报错。
相关推荐
压缩包内的"DWR中文文档2.pdf"很可能是DWR3的中文用户指南或开发者手册,对于学习和使用DWR3框架具有很高的参考价值,详细介绍了如何配置、使用DWR以及解决常见问题。"dwr.rar"可能包含了DWR的源码或者库文件,便于...
3. **错误处理**:DWR提供了错误处理机制,可以在客户端捕获和处理服务器端的异常。 4. **集成其他技术**:DWR可与Spring、Struts等框架无缝集成,提升开发效率。 通过【DWR视频教程3】,你将系统学习到如何配置...
3. **Ajax支持**:DWR利用Ajax技术实现了页面的局部更新,减少了用户等待时间,提升了用户体验。通过DWR,开发者可以轻松创建异步请求,更新页面的特定部分。 4. **典型应用场景**:DWR常用于实时聊天、表格数据...
总之,"dwr3实现的无刷新文件上传"是一个实用的教程,可以帮助开发者理解DWR3如何简化Ajax开发,特别是文件上传这一常见任务。通过学习和实践这个项目,开发者可以提升自己的技能,并将这些知识应用到更复杂的Web...
- 该中文文档将详细介绍DWR的安装、配置、使用方法以及常见问题的解决,是学习DWR的重要参考资料。 通过深入学习这份DWR中文文档,开发者不仅可以掌握DWR的基本用法,还能了解到如何在实际项目中有效利用DWR提升...
**8.2 错误和异常处理**:DWR提供了强大的错误和异常处理机制,帮助开发者更好地管理异常情况。 1. **错误处理**:通过回调函数中的errorHandler属性来处理可能出现的错误。 2. **异常**:了解DWR可能抛出的各种...
在这个压缩包中,"dwrTest"可能包含了一个DWR框架的实例,帮助开发者了解如何在实际项目中应用DWR,并提供了针对DWR框架常见问题的解决方法。 DWR的主要特点和优势包括: 1. **实时双向通信**:DWR允许服务器端...
在这个压缩包中,"DWR开发培训.ppt"可能是一个演示文稿,用于教学或研讨会,其中可能包含PPT幻灯片,系统地介绍了DWR的各个方面,可能包括实例演示、最佳实践和常见问题解答。 总的来说,这个DWR教程包提供了一套...
3. **AutoComplete和LiveGrid**:预置的组件,简化了常见的用户界面任务,如自动补全和实时表格更新。 三、DWR的配置与集成 1. **Web.xml配置**:在Web应用的部署描述符中配置DWR Servlet。 2. **DWR Engine ...
在这个实例中,我们将逐步了解如何设置一个基本的DWR应用以及解决常见问题。 首先,我们需要下载DWR库,通常是dwr.jar文件,将其放置在WEB-INF/lib目录下。当前的DWR版本为3.0,但鉴于某些教程可能基于旧版本(例如...
通过这个示例,你可以深入理解DWR如何与Java和JavaScript交互,以及如何处理常见的错误。同时,这也是一个了解早期Ajax技术及其与旧版Java环境集成的好机会。在实践中,你应该考虑升级到更现代的Java版本和DWR版本,...
3. **定义DWR接口**:在Java接口中声明用于获取分页数据的方法,比如`getPagedData(int pageNum, int pageSize)`。 4. **编写JavaScript**:创建JavaScript对象,通过DWR调用服务器端的方法获取数据,并处理返回的...
3. 使用DWR JavaScript API调用服务器端的文件上传方法。 4. 在服务器端接收文件数据并保存到本地或云存储。 5. 实现客户端的回调函数以处理上传结果。 在实际应用中,你还需要考虑其他因素,如文件大小限制、文件...
这种交互式菜单在用户界面设计中常见,用于在多个选项之间建立关联,如省份-城市-区县的选择,以提供更加精细化的筛选。 首先,我们需要理解DWR的核心概念:通过AJAX(异步JavaScript和XML)技术,DWR使Java方法...
8. **FAQ和常见问题解答**:这些文档解决了在使用DWR时可能会遇到的常见问题,提供了快速解决问题的方案。 9. **社区资源链接**:可能还包括论坛、邮件列表或博客链接,这些是开发者交流经验、获取帮助和支持的地方...
ExtJS和Direct Web Remoting(DWR)是两种在Web开发中常见的技术,它们结合使用可以构建出交互性极强的富客户端应用。本压缩包文件"Extjs+Dwr"提供了一个整合ExtJS和DWR的例子,让我们来详细探讨一下这两个技术以及...
这个小例子展示了如何使用DWR来动态加载下拉框(Dropdown List)的数据,这种技术在网页应用中非常常见,特别是当需要在用户界面加载时就获取并填充数据的场景。 首先,我们需要理解DWR的基本工作原理。DWR允许...