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. 异常转换器

\

我们在server端写业务逻辑的时候,一般会利用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. C# 解决ListView控件显示数据出现闪屏的问题

    一.发现问题 如果发送数据过快的情况下,ListVies滚屏显示数据时会显示闪屏,如下所示现象: 二.解决问题 根据出现闪屏的情况,在网上查了资料要使用双缓存的办法来处理.其原理是数据在缓存区中进行处 ...

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

    Atitit.dwr3 不能显示错误详细信息的解决方案,控件显示错误详细信息的解决方案 java .net php 1. Keyword/subtitle 1 2. 使用dwr3的异常convert处 ...

  3. 033. asp.netWeb用户控件之二将页面转换成web控件和使用Web控件显示热点新闻

    访问Web用户控件的属性 ASP.NET提供的各种服务器控件都有其自身的属性和方法,程序开发人员可以灵活地使用服务器控件中的属性和方法开发程序.在用户控件中,程序开发人员也可以自行定义各种属性和方法, ...

  4. atitit.组件化事件化的编程模型--服务端控件(1)---------服务端控件与标签的关系

    atitit.组件化事件化的编程模型--服务端控件(1)---------服务端控件与标签的关系 1. 服务器控件是可被服务器理解的标签.有三种类型的服务器控件: 1 1.1. HTML 服务器控件  ...

  5. c#多线程(UI线程,控件显示更新) Invoke和BeginInvoke 区别

    如果只是直接使用子线程访问UI控件,直接看内容三,如果想深入了解从内容一看起. 一.Control.Invoke和BeginInvoke方法的区别 先上总结: Control.Invoke 方法 (D ...

  6. [转] c#多线程(UI线程,控件显示更新) Invoke和BeginInvoke 区别

    如果只是直接使用子线程访问UI控件,直接看内容三,如果想深入了解从内容一看起. 一.Control.Invoke和BeginInvoke方法的区别 先上总结: Control.Invoke 方法 (D ...

  7. ADO.NET之使用DataGridView控件显示从服务器上获取的数据

    今天回顾下ADO.NET中关于使用DataGridiew控件显示数据的相关知识 理论整理: 使用 DataGridView 控件,可以显示和编辑来自多种不同类型的数据源的表格数据. SqlDataAd ...

  8. atitit.基于组件的事件为基础的编程模型--服务器端控件(1)---------服务器端控件和标签之间的关系

    atitit.基于组件的事件为基础的编程模型--服务器端控件(1)---------服务器端控件和标签之间的关系 1. server控件是要server了解了标签.种类型的server控件: 1 1. ...

  9. xcode8 storyboard 控件显示错位

    升级xcode8 后选择device 为6s 出现上面的情况,控件显示异常.使用Update Frame 显示正常.不能选择Update Constraints   如果误选 commend + Z ...

随机推荐

  1. .vimrc快捷键设置

    $ cat ~/.vimrc,centos7是在/etc/vimrc文件中配置. nmap <C-_>s :cs find s <C-R>=expand("<c ...

  2. IT第七天 - 类及其属性、方法的理解,断点调试初识,代码优化总结,编程逻辑培养

    IT第七天 上午 类 1.对象:是多个实体抽象出来的共同点集合,对象包括:属性(即实体的特征).方法(即尸体的功能作用) 2.程序中,用类来模拟对象 3.类是抽象的,是对象的类型,是将多个拥有相同属性 ...

  3. 【C++继承与派生之二】有子对象的派生类的构造函数

    这是我今天看书刚刚看到的,觉着以前对这一块内容了解不多,所以整理一下分享给大家.首先要介绍一下子对象的概念.类的数据成员不仅可以是int.char这样的基本类型,也可以是类对象,如可以包含这样的数据成 ...

  4. 用typedef声明类型

    定义: 可以用typedef声明一个新的类型名来代替已有的类型名. 用法: typedef int INTEGER;//指定用标识符INTEGER代表int类型 typedef float REAL; ...

  5. Axure滚动效果实现

    下面的这个透明区域用于显示滚动效果,它本身是一个处于隐藏状态的动态面板,它里面也放了一个动态面板用于产生移动的效果 里面的动态面板起名“实际内容”,注意它的默认状态是“状态2”,状态2和状态一的内容一 ...

  6. Send Mail 网址

    http://www.codeproject.com/Tips/371417/Send-Mail-Contact-Form-using-ASP-NET-and-Csharp http://www.c- ...

  7. AsyncQueryHandler处理数据

    参考:http://blog.csdn.net/hfreeman2011/article/details/8555474和http://blog.csdn.net/dragondog/article/ ...

  8. .NET通过PowerShell操作ExChange为用户开通邮箱账号

    最近工作中一个web项目需要集成exchange邮箱服务,注册用户时需要动态创建邮箱用户,终于在http://www.cnblogs.com/gongguo/archive/2012/03/12/23 ...

  9. Qt中所有类型之间的转换

    1.char * 与 const char *的转换 char *ch1="hello11";const char *ch2="hello22";ch2 = c ...

  10. mojo 默认use utf8;

    my $endtime=strftime("%Y%m%d%H%M%S",localtime()); my $d=encode_utf8('验证'); if ($a3 =~/$d/) ...