DWR3常见错误解决方法
发布时间:2020-12-15 22:07:49 所属栏目:百科 来源:网络整理
导读:分类: 1.提示“缺少对象” 原因: 程序中使用了dwr.util.setValue("userInfo",data);或getValues()之类的语句。而控件ID与这里的userInfo名字不匹配,则提示缺少对象。 解决方法: 检查每一个setValue中的控件ID名称,保证一一对应。 如果依然找不到错误,
分类:
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。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |