<% @servlet.getResponse().setStatus(403); var message = @ObjectUtils.toString(@request.getAttribute('message')); if (isBlank(message)){ var ex = @ExceptionUtils.getThrowable(request); if (ex != null){ if(@StringUtils.startsWith(@ex.getMessage(), 'msg:')){ message = @StringUtils.replace(@ex.getMessage(), 'msg:', ''); }else if (ex.class.name == 'org.springframework.validation.BindException'){ for (var e in ex.globalErrors){ message = message + '☆' + e.defaultMessage + '(' + e.objectName + ')
'; } for (var e in ex.fieldErrors){ message = message + '☆' + e.defaultMessage + '(' + e.field + ')
'; } }else if (ex.class.name == 'javax.validation.ConstraintViolationException'){ for (var v in ex.constraintViolations) { message = message + '☆' + v.message + '(' + v.propertyPath + ')
'; } }else{ message = message + ex.message; } @org.slf4j.LoggerFactory.getLogger('error/400').info(ex.message, ex); } } if (isBlank(message)){ message = text('sys.error.400.message'); } // 如果是异步请求或是手机端,则直接返回信息 if (@ServletUtils.isAjaxRequest(request)) { print(message); } // 输出异常信息页面 else { %> <% layout('/layouts/default.html', {title: '400 - '+text('sys.error.400.title')}){ %>
400

${text('sys.error.400.title')}

${message}

<% } %> <% } %>