Atitit.dwr3 不能显示错误详细信息的解决方案,控件显示错误详细信息的解决方案 java .net php

1. Keyword/subtitle 1

2. 使用dwr3的异常convert处理不能解除,,,按照盗垒能解除了.... 1

3. 使用js 回回调功能处理...还是不能,子能显示个..javaClassName:"java.lang.Throwable",message:"Error"} 2

4. 异常转换器 2

5. 当然如果想要只针对某一个function来进行超时/警告/错误处理的话也是可以的 4

6. 自定义异常处理系统:: 4

6.1. 异常捕获 4

6.2. 异常显示 4

6.3. Alert不能显示满的格式异常信息的解决之道::自定义页面显示 5

6.4. htmlEncode的问题 6

7. 参考 6

1. Keyword/subtitle

控件显示错误详细信息的解决方案

控件调试解决方案

团队建设---技术建设---调试方法

2. 使用dwr3的异常convert处理不能解除,,,按照盗垒能解除了....

<convert match="java.lang.Exception" converter="exception">

<param name="include" value="message"/>

</convert>

<!--下面一定要配置,不然会报如下错误:org.directwebremoting.util.CommonsLoggingOutput error 严重: No converter found for 'java.lang.StackTraceElement' -->

<convert match="java.lang.StackTraceElement" converter="bean"></convert>

自定义的异常能显示了,走十默认的异常不能....

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

3. 使用js 回回调功能处理...还是不能,子能显示个..javaClassName:"java.lang.Throwable",message:"Error"}

//   DWREngine.setErrorHandler(ehO9);  jei haosyo dwr2d

function errh(errorString, exception) {

  //  alert(errorString);

  //  alert( JSON.stringify(exception));

eval(dwrxO9).getErr( function(data){

alert(data);

window.open("<%=path%>/com.attilax/util/dwrerr.jsp");

});

}

dwr.engine.setErrorHandler(errh);

4. 异常转换器

\
我们在服务器端写业务逻辑的时候,通常会利用try{}catch{}捕获异常,但是现在对于前台调用后台的业务逻辑,我们如果在后台发生了一些异常,在前台如何让他显示出来,这里dwr为我们提供了一种转换器(Exception转换器),但是这种转换器如果我们不显示的表现出来,它会默认的给我们提供一个error的异常出来,后台报的异常会在前台以error的方式给我们显示,但是不会吧详细的信息暴露出来,所以我们需要自己配置error的转换器,然后把需要的异常信息给显示出来。举例:

在engine.js中常用的方法有
DWREngine.setErrorHandler(function)对错误的处理
DWREngine.setWarningHandler(function)对警告的处理
DWREngine.setTimeout() 设置超时的时间 
DWREngine.setAsync(false);设置DWR为同步调用

DWREngine.setAsync(true);设置DWR为异步调用

运行调用打印Error。就是dwr框架给我们指定的,如果我们后台访问的时候发生异常,前台为我们的提示信息就为Error,相当于这些普遍的异常都会以Error的形式给我们显示。

如果我们现在不想要Error,我们想要知道前台给我们报的错误是针对后台哪一个异常,我们就需要这个异常转换器来给我们指定这种异常的转换,然后把这种异常信息捕获到前台,前台给我们打印出来,这就要用到dwr给我们提供的内置的转换器,在dwr.xml里面配置:

<convert match="com.ryanlu.exception.FunkyException" converter="exception"> 
    <param name="include" value="message"/> 
 </convert>

只要配置了这种异常处理转换器,后台发生异常,前台就可以给我们打印出来.运行结果:"异常的详细信息, date=Mon Jan 01 2008 10:00:00 GMT+0100"。这说明通过配置异常处理转换器,在前台可以捕获后台发生的异常,而且是详细的异常信息。

因为Ajax含义中的"A"就是指的 asynchronous(异步),那么每个Demo.Method执行都是在异步
情况下完成的.如果要指定全局的超时设置那么就可以通过DWREngine.setTimeout()来完成

同样的道理,DWREngine.setErrorHandler(function),DWREngine.setWarningHandler(function)
用来设置全局的错误和警告处理

5. 当然如果想要只针对某一个function来进行超时/警告/错误处理的话也是可以的

如下:
   Demo.method(params, {
    callback:function(data) { alert("it worked"); },
    errorHandler:function(message) { alert("it broke"); },
    timeout:1000
   });

注意:callback和errorHandler是engine.js里面的变量。用来处理异常。这样写的好处是,如果正常执行会调用callback函数,如果发生异常会调用exceptionHander函数来处理。注意callback和errorHandler必须按照上面的方式来写,这是engine.js里面规定的。

6. 自定义异常处理系统::

Thinki:::不个异常抓取,放得个session黑头.在使用dwr调用...

6.1. 异常捕获

三,自定义的excator不能使用,,好像dwr的过滤器首先调用了,不个异常吃兰,闪的excator马异常兰...子好到个调用方法南儿加磊个捕获...

6.2. 异常显示

Store ex

@RemoteMethod public void save_map(Map mp) {

try {

this.basesvs.save_map(mp);

} catch (Exception e) {

DwrX.getSession().setAttribute("errO9", core.getTrace(e));

throw new RuntimeException("--oa1c:"+e.getMessage(),e);

}

}

--------show ex

}

//   DWREngine.setErrorHandler(ehO9);  jei haosyo dwr2d

function errh(errorString, exception) {

  //  alert(errorString);

// alert( JSON.stringify(exception));

eval(dwrxO9).getErr(function(data){

alert(data);

window.open("<%=path%>/com.attilax/util/dwrerr.jsp");

});

}

dwr.engine.setErrorHandler(errh);

6.3. Alert不能显示满的格式异常信息的解决之道::自定义页面显示

window.open("<%=path%>/com.attilax/util/dwrerr.jsp");

<%= core.txt2html( request.getSession().getAttribute("errO9"))%>

6.4. htmlEncode的问题

public static String txt2html(Object s2) {

// attilax 老哇的爪子  2_r_1   o03

String  s=StringEscapeUtils.escapeHtml4(s2.toString());

s = s.toString().replaceAll("\r\n", "<br>\r\n");

s = s.toString().replaceAll(" ", " ");

s = s.toString().replaceAll("\t", "    ");

return s;

}

7. 参考

DWR异常处理 - RyanLuX的专栏 - 博客频道 - CSDN.NET.htm

Atitit.dwr3 不能显示错误详细信息的解决方案,控件显示错误详细信息的解决方案 java .net php相关推荐

  1. vc实现html显示,在VC对话框中用ChtmlView控件显示HTML(2)

    CHtmlCtrl类的头文件: #include "afxhtml.h" class CHtmlCtrl : public CHtmlView { public: CHtmlCtr ...

  2. Android eclipse实现创建水果表并添加信息,将其以ListView控件显示

    Android eclipse实现创建水果表并添加信息,将其以ListView控件显示 整个程序包含:三个.java文件以及两个.xml文件 1.Fruit.java: package com.gpn ...

  3. android 中edittext控件 输入错误后焦点不变_常用基本控件测试用例(二)

    日期控件文本框的测试 1. 正常操作 1)有默认项还是没有. 2)选择日期后是否正确回显到页面上,并且格式正确 3)通过左右按钮进行年和月的选择,是否正确: 4)通过下拉框直接选择年和月,是否正确: ...

  4. web打印控件 LODOP的详细api

    web打印控件 LODOP的详细api 篇幅较长,建议ctrl+F快速搜索关键字 你可以点击这里查看LODOP打印控件官网. Lodop发布包内主要有如下几个文件: install_lodop.exe ...

  5. C#之windows桌面软件第十二课:电脑ADC值显示(上位机),记忆上次串口号,并用TrackBar控件显示ADC值

    C#之windows桌面软件第十二课:电脑ADC值显示(上位机),记忆上次串口号,并用TrackBar控件显示ADC值 using System; using System.Collections.G ...

  6. C# ListView控件显示表格(自适应宽度),添加 Checkbox,删除选择项,选中颜色和鼠标滑过背景变色

    本文转载自:http://www.liangshunet.com/ca/201309/586362553.htm 亮术网 2020-03-07 本网原创 DataGridView控件功能十分强大,显示 ...

  7. 根据从日期控件选定的时间以表格形式显示数据_VB项目开发FlexGrid控件使用讲解...

    FlexGrid控件使用介绍 大家好,在VB开发管理系统中,FlexGrid控件使用是非常普遍的.用FlexGrid ActiveX控件可以在 Visual Basic的窗体中创建一个电子数据表格,也 ...

  8. python menu实例_python GUI库图形界面开发之PyQt5菜单栏控件QMenuBar的详细使用方法与实例...

    PyQt5菜单栏控件QMenuBar介绍 QMenuBar在QMainWindow对象的标题栏下方,水平的QMenuBar被保留显示QMenu对象 QMenuBar类提供了一个可以包含一个或多个QAc ...

  9. 物联网开发笔记(64)- 使用Micropython开发ESP32开发板之控制ILI9341 3.2寸TFT-LCD触摸屏进行LVGL图形化编程:控件显示

    一.目的 这一节我们学习如何使用我们的ESP32开发板来控制ILI9341 3.2寸TFT-LCD触摸屏进行LVGL图形化编程:控件显示. 二.环境 ESP32 + ILI9341 3.2寸TFT-L ...

  10. VB.NET基于ReportViewer控件显示RDLC文件学习总结。

    最近一直在学习VB.NET中的ReportViewer控件绑定RDLC文件显示的内容,VB.NET对于这一块的教程并不如C#多,所以好多时候需要模仿C#,今天特地写一个总结,供后边的学习者以供借鉴(本 ...

最新文章

  1. 关于C# WebService的一些看法
  2. ML之LoRBaggingRF:依次利用Bagging、RF算法对泰坦尼克号数据集 (Kaggle经典案例)获救人员进行二分类预测——模型融合
  3. [luoguP2896] [USACO08FEB]一起吃饭Eating Together(DP)
  4. 无聊写的一个PHP Socket类
  5. 【excel技巧读书笔记001】清除打开过的文件记录
  6. 小新pro13 重装注意_新款小新pro 13注意什么?买前必读
  7. github pages帮助如何创建个人博客
  8. Dephi 的接口与回调 :ZT
  9. c#中Hashtable用法简述
  10. pyppeteer-比 selenium 更高效的爬虫利器
  11. linux使用wiznote笔记
  12. 博图(博途)V14编译成功,但仿真无法弹出下载程序窗口/不弹框
  13. MarkDown基础语法笔记
  14. C/C++整数除法以及保留小数位的问题
  15. TeamViewer 免费许可到期的解决办法
  16. 在苹果Mac上怎样更改AirDrop名称?
  17. 基于React全家桶开发「网易云音乐PC」项目实战(三)
  18. sas和python哪个更容易发胖_碳水化合物和脂肪哪个更容易让身体发胖?
  19. spring 注解练习
  20. spark远程桌面连接:使用机器人平台

热门文章

  1. mysql 自连接 临时表_存储过程中表(table)的自连接及临时表示例 (自认为好的存储过程示例)...
  2. c++字节对齐编译器指令#pragma
  3. centos7.3 安装ansible
  4. QTQuick控件基础(1)
  5. 原生体验挡不住!JavaScript开源跨平台框架NativeScript
  6. asmack获取用户头像和设置昵称与获取好友昵称
  7. springboot redisTemplate 外部反序列化
  8. 数据库SQL语言学习--上机练习3(插入 更新 删除)
  9. 步步为营100-开发前的思考
  10. Python 操作快捷键