<% response.setStatus(400); // 获取异常类 Throwable ex = Exceptions.getThrowable(request); //获取国际化信息 Properties msgProp = new Properties(); try { String language = LocaleContextHolder.getLocale().getLanguage(); if (language.equals("zh_cn") || language.equals("zh")) { msgProp.load(Configurations.class.getResourceAsStream("/messages/message_zh_CN.properties")); } else if (language.equals("ru")) { msgProp.load(Configurations.class.getResourceAsStream("/messages/message_ru.properties")); } else { msgProp.load(Configurations.class.getResourceAsStream("/messages/message_en.properties")); } } catch (Exception e) { msgProp = null; } // 编译错误信息 StringBuilder sb = new StringBuilder("(400)"+msgProp!=null?msgProp.getProperty("exception_info"):"Exception Infomation"+":\n"); if (ex != null) { if (ex instanceof BindException) { for (ObjectError e : ((BindException)ex).getGlobalErrors()){ sb.append("☆" + e.getDefaultMessage() + "(" + e.getObjectName() + ")\n"); } for (FieldError e : ((BindException)ex).getFieldErrors()){ sb.append("☆" + e.getDefaultMessage() + "(" + e.getField() + ")\n"); } LoggerFactory.getLogger("400.jsp").warn(ex.getMessage(), ex); }/* else if (ex instanceof ConstraintViolationException) { for (ConstraintViolation v : ((ConstraintViolationException)ex).getConstraintViolations()) { sb.append("☆" + v.getMessage() + "(" + v.getPropertyPath() + ")\n"); } } */ else { //sb.append(Exceptions.getStackTraceAsString(ex)); sb.append("☆" + ex.getMessage()); } } else { sb.append(msgProp!=null?msgProp.getProperty("unkown_error"):"Unkown Error Infomation"+":\n\n"); } // 如果是异步请求或是手机端,则直接返回信息 if (Servlets.isAjaxRequest(request)) { out.print(sb); } // 输出异常信息页面 else { %> <%@page import="org.springframework.validation.BindException"%> <%@page import="org.springframework.validation.ObjectError"%> <%@page import="org.springframework.validation.FieldError"%> <%@page import="org.slf4j.Logger,org.slf4j.LoggerFactory"%> <%@page import="com.nis.web.security.Servlets"%> <%@page import="com.nis.util.Exceptions"%> <%@page import="com.nis.util.StringUtils"%> <%@page import="java.util.Properties"%> <%@page import="org.springframework.context.i18n.LocaleContextHolder"%> <%@page import="com.nis.util.Configurations"%> <%@page contentType="text/html;charset=UTF-8" isErrorPage="true"%> <%@include file="/WEB-INF/include/taglib.jsp"%> 400 - <spring:message code="request_error"/> <%@include file="/WEB-INF/include/header.jsp" %>
<%=StringUtils.toHtml(sb.toString())%>
 

<% } out = pageContext.pushBody(); %>