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. Atitit.dwr3 不能显示错误具体信息的解决方式,控件显示错误具体信息的解决方式 java .net php

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

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

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

  3. 错误提示:类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内 .

    错误提示:类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内 在做导出数据到EXCEL程序中,出现了错误提示:类型“GridView”的控件“Gr ...

  4. C# 如何定义让PropertyGrid控件显示[...]按钮,并且点击后以下拉框形式显示自定义控件编辑属性值

    关于PropertyGrid控件的详细用法请参考文献: 1.C# PropertyGrid控件应用心得 2.C#自定义PropertyGrid属性 首先定义一个要在下拉框显示的控件: using Sy ...

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

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

  6. xcode8 storyboard 控件显示错位

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

  7. HighChats图表控件显示精度小数点的方法

    相信大家对highchats这个图表控件并不陌生,最近在项目中用到它,但是某些字段需要显示为小数点,顾查找资料文档发现下面两个方式可以实现: 初始化时候添加如下两个参数 tooltip:{    fo ...

  8. AspNetPager控件报错误: Syntax error, unrecognized expression: input#ctl00$ContentPlaceHolder1$Aspnetpager1_input问题解决[摘]

    高版本IE,如IE10或者IE11在浏览页面时出现错误: Syntax error, unrecognized expression: input#ctl00$ContentPlaceHolder1$ ...

  9. Atitit. .net c# web 跟客户端winform 的ui控件结构比较

    Atitit. .net c# web 跟客户端winform 的ui控件结构比较 .net   4.5 webform Winform 命名空间 System.Web.UI.WebControls ...

随机推荐

  1. jquery中append跟prepend的用法

    jquery中append和prepend的用法 append   是插入到元素中,并放到元素内的最后面prepend  是插入到元素中,并放到元素内的最前面例$("body"). ...

  2. 纯手工打造(不使用IDE)java web 项目

    必备环境 1.编译器:jdk 2.web服务器:tomcat 3.文本编辑器:sublime,编写java文件和jsp文件,没有的话用记事本也行. 一.建立工程目录结构,如下图 在操作系统下完成即可, ...

  3. .NET Remoting获取配置通道:

    接上文: public static string ChannelManagerUrl        {            get            {                retu ...

  4. clang format 官方文档自定义参数介绍(中英文)

    官方文档:http://clang.llvm.org/docs/ClangFormatStyleOptions.html 中文 在代码中配置样式 当使用 clang::format::reformat ...

  5. jQuery选择器和DOM操作——《锋利的jQuery》(第2版)读书笔记1

    第1章 认识jQuery jQuery有以下优势: 轻量级: 强大的选择器: 出色的DOM操作的封装: 可靠的事件处理机制: 完善的Ajax: 不污染顶级变量: 出色的浏览器兼容性: 链式操作方式: ...

  6. jquery学习--属性操作

    学习jquery很长一段时间了,知道对属性操作的方式为: $("#xx1").attr("xx2"); //获取属性值 $("#xx1"). ...

  7. bootstrap的日期插件datetimepicker有问题

    bootstrap的日期插件datetimepicker在chrome中会出现掉下来的现象,而且一直没找到原因,下载最新版的插件直接在各个浏览器中都会掉下来, 问题一直解决不了,转而换其他插件 htt ...

  8. asp.net 去掉重复的querystring

    string[] vs = HttpContext.Current.Request.QueryString.GetValues(key);                    if (vs.Leng ...

  9. uglifyjs压缩JS的

    一.故事总有其背景 年末将至,很多闲适的时间,于是刷刷微博,接触各种纷杂的信息——美其名曰“学习”.运气不错,遇到了一个新名词,uglifyjs. 据说是用来压缩JS文件的,据说还能优化JS,据说是基 ...

  10. 关于Plupload结合上传插件jquery.plupload.queue的使用

    之前使用过很多的上传组件,但对各种浏览器的兼容性太差,不得不放弃!! plupload 是款很强大的上传组件,不得不推荐.plupload 前端根据浏览器不同选择使用Html5. Gears, Sil ...