diff --git a/common/src/main/java/com/jeesite/common/web/http/ServletUtils.java b/common/src/main/java/com/jeesite/common/web/http/ServletUtils.java index fb232faa..74dc8dfa 100644 --- a/common/src/main/java/com/jeesite/common/web/http/ServletUtils.java +++ b/common/src/main/java/com/jeesite/common/web/http/ServletUtils.java @@ -23,6 +23,8 @@ import org.springframework.web.context.request.ServletRequestAttributes; import com.jeesite.common.collect.MapUtils; import com.jeesite.common.io.PropertiesUtils; +import com.jeesite.common.lang.ExceptionUtils; +import com.jeesite.common.lang.ObjectUtils; import com.jeesite.common.lang.StringUtils; import com.jeesite.common.mapper.JsonMapper; import com.jeesite.common.mapper.XmlMapper; @@ -184,7 +186,16 @@ public class ServletUtils { resultMap.put("result", result); resultMap.put("message", message); if (data != null){ - if (data instanceof Map){ + if (data instanceof Throwable){ + Throwable ex = (Throwable)data; + String exMsg = ExceptionUtils.getExceptionMessage(ex); + if (StringUtils.isNotBlank(exMsg)){ + resultMap.put("message", message + "," + exMsg); + }else if (ObjectUtils.toBoolean(PropertiesUtils.getInstance() + .getProperty("error.page.printErrorInfo", "true"))){ + resultMap.put("message", message + "," + ex.getMessage()); + } + }else if (data instanceof Map){ resultMap.putAll((Map)data); }else{ resultMap.put("data", data); diff --git a/modules/core/src/main/resources/views/error/500.html b/modules/core/src/main/resources/views/error/500.html index 69d0cbf6..11189e19 100644 --- a/modules/core/src/main/resources/views/error/500.html +++ b/modules/core/src/main/resources/views/error/500.html @@ -23,7 +23,7 @@ if (isBlank(message)){ // 如果是异步请求或是手机端,则直接返回信息 if (@ServletUtils.isAjaxRequest(request)) { - if (@Global.getConfigToBoolean('error.page.printErrorInfo', 'true') + if (@Global.getPropertyToBoolean('error.page.printErrorInfo', 'true') && !@StringUtils.equals(message, "演示模式,不允许操作!") && ex != null){ print(@ServletUtils.renderResult(@Global.FALSE, message, @ExceptionUtils.getStackTraceAsString(ex))); }else{ @@ -49,7 +49,7 @@ else { href="http://jeesite.com">JeeSite ${@Global.getProperty('jeesiteVersion')} -<% if (@Global.getConfigToBoolean('error.page.printErrorInfo', 'true') +<% if (@Global.getPropertyToBoolean('error.page.printErrorInfo', 'true') && !@StringUtils.equals(message, "演示模式,不允许操作!")){ %>
${@StringUtils.toHtml(@ExceptionUtils.getStackTraceAsString(ex))}