struts2execute方法遇到异常跳转到固定页面显示异常原因

action配置为<global-results><result name ="error">/WEB-INF/result/error.jsp</result></global-results><global-exception-mappings><exception-mapping result="error" exception="java.lang.Exception"></exception-mapping></global-exception-mappings>当出现了异常后,如果我们需要在jsp页面已json的形式显示出异常的原因,就可以用以下的jsp配置输出异常,struts2在处理异常的时候会进行request,setAttribute("exception")操作,所以在jsp页面就可以直接拿出来用${exception.xxxx}要注意的是异常分两种,一种是运行时异常,不会再编译时捕获,另一种是非运行时异常,需要捕获,我在捕获的时重新抛出了一个运行时异常,参数写入一个出现异常的原因。execute方法里第一个是主动抛出一个运行时异常,模拟在catch块里捕获非运行时异常并抛出的操作,另一种是运行时异常,a.toCharArray()模拟一个空指针异常。列入空指针这样的异常他的message是空的,所以在显示原因的时候直接输出异常的名字比较好,并且把java.lang隐藏减少被猜到是用何种语言写的可能。主动抛出异常自带一个message,直接输出message即可。输出带message的异常${exception.toString()}:runtimeexception:用来测试的异常输出不带message的异常${exception.toString()}:java.Lang.NullPointerException为了输出格式的统一必须在jsp页面做出处理,详见代码一 <无> .CodeEntity .code_pieces ul.piece_anchor{width:25px;position:absolute;top:25px;left:-30px;z-index:1000;}.CodeEntity .code_pieces ul.piece_anchor li{width:25px;background: #efe;margin-bottom:2px;}.CodeEntity .code_pieces ul.piece_anchor li{border-left:3px #40AA63 solid;border-right:3px #efe solid;}.CodeEntity .code_pieces ul.piece_anchor li:hover{border-right:3px #40AA63 solid;border-left:3px #efe solid;}.CodeEntity .code_pieces ul.piece_anchor li a{color: #333;padding: 3px 10px;}.CodeEntity .code_pieces .jump_to_code{visibility:hidden;position:relative;}.CodeEntity .code_pieces .code_piece:hover .jump_to_code{visibility:visible;}.CodeEntity .code_pieces .code_piece:hover .jump_to_code a{text-decoration:none;}.CodeEntity .code_pieces h2 i{float:right;font-style:normal;font-weight:normal;}.CodeEntity .code_pieces h2 i a{font-size:9pt;background: #FFFFFF;color:#00A;padding: 2px 5px;text-decoration:none;}

struts2execute方法遇到异常跳转到固定页面显示异常原因

相关文章:

你感兴趣的文章:

标签云: