DWR3常见错误解决方法


分类:

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。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值