Atitit.dwr3 不能显示错误详细信息的解决方案,控件显示错误详细
Atitit.dwr3不能显示错误详细信息的解决方案,控件显示错误详细信息的解决方案java.netphp 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处理不能解除,按照盗垒能解除了....<convertmatch="java.lang.Exception"converter="exception"> <paramname="include"value="message"/> </convert> <!--下面一定要配置,不然会报如下错误:org.directwebremoting.util.CommonsLoggingOutputerror严重:Noconverterfoundfor'java.lang.StackTraceElement'--> <convertmatch="java.lang.StackTraceElement"converter="bean"></convert>
自定义的异常能显示了,走十默认的异常不能.... 作者::老哇的爪子Attilax艾龙,EMAIL:1466519819@qq.com 转载请注明来源:http://blog.csdn.net/attilax 3.使用js回回调功能处理...还是不能,message:"Error"}//DWREngine.setErrorHandler(ehO9);jeihaosyodwr2d functionerrh(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.异常转换器
在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里面配置: <convertmatch="com.ryanlu.exception.FunkyException"converter="exception"> 只要配置了这种异常处理转换器,后台发生异常,前台就可以给我们打印出来.运行结果:"异常的详细信息,date=MonJan01200810:00:00GMT+0100"。这说明通过配置异常处理转换器,在前台可以捕获后台发生的异常,而且是详细的异常信息。 因为Ajax含义中的"A"就是指的asynchronous(异步),那么每个Demo.Method执行都是在异步情况下完成的.如果要指定全局的超时设置那么就可以通过DWREngine.setTimeout()来完成 同样的道理,DWREngine.setErrorHandler(function),DWREngine.setWarningHandler(function)用来设置全局的错误和警告处理 5.当然如果想要只针对某一个function来进行超时/警告/错误处理的话也是可以的如下:Demo.method(params,{callback:function(data){alert("itworked");},errorHandler:function(message){alert("itbroke");},255)">timeout:1000}); 注意:callback和errorHandler是engine.js里面的变量。用来处理异常。这样写的好处是,如果正常执行会调用callback函数,如果发生异常会调用exceptionHander函数来处理。注意callback和errorHandler必须按照上面的方式来写,这是engine.js里面规定的。
6.自定义异常处理系统::Thinki:::不个异常抓取,放得个session黑头.在使用dwr调用... 6.1.异常捕获三,自定义的excator不能使用,好像dwr的过滤器首先调用了,不个异常吃兰,闪的excator马异常兰...子好到个调用方法南儿加磊个捕获... 6.2.异常显示Storeex @RemoteMethodpublicvoidsave_map(Mapmp){ try{ this.basesvs.save_map(mp); }catch(Exceptione){ DwrX.getSession().setAttribute("errO9",core.getTrace(e)); thrownewRuntimeException("--oa1c:"+e.getMessage(),e); } }
--------showex } //DWREngine.setErrorHandler(ehO9);jeihaosyodwr2d functionerrh(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的问题publicstaticStringtxt2html(Objects2){ //attilax老哇的爪子2_r_1o03 Strings=StringEscapeUtils.escapeHtml4(s2.toString()); s=s.toString().replaceAll("rn","<br>rn"); s=s.toString().replaceAll("",""); s=s.toString().replaceAll("t",""); returns; } 7.参考DWR异常处理-RyanLuX的专栏-博客频道-CSDN.NET.htm (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |