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 9ada8e4f..9061a505 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 @@ -362,7 +362,9 @@ public class ServletUtils { type = MediaType.TEXT_PLAIN_VALUE; } } - response.setContentType(type); + if (type != null) { + response.setContentType(type); + } response.getWriter().print(string); } catch (IOException e) { e.printStackTrace(); diff --git a/modules/core/src/main/resources/config/jeesite-core.yml b/modules/core/src/main/resources/config/jeesite-core.yml index d1cdc7cc..d96070fd 100644 --- a/modules/core/src/main/resources/config/jeesite-core.yml +++ b/modules/core/src/main/resources/config/jeesite-core.yml @@ -505,10 +505,12 @@ web: # 使用智能参数接收器,同时支持 JSON 和 FormData 的参数接受 smartMethodArgumentResolver: true - # 使用 .json、.xml 后缀匹配视图(不推荐使用,推荐使用 favorParameter) + # 使用 .json、.xml 后缀匹配返回视图数据(Spring官方已不推荐使用) favorPathExtension: false - # 使用 __ajax=json、__ajax=xml 参数名匹配视图 + # 使用 __ajax=json、__ajax=xml 后缀匹配返回视图数据 favorParameter: true + # 使用 __ajax=json、__ajax=xml 请求头匹配返回视图数据 + favorHeader: true # MVC 拦截器 interceptor: diff --git a/modules/core/src/main/resources/views/error/403.html b/modules/core/src/main/resources/views/error/403.html index 96e99a76..0b5e80b8 100644 --- a/modules/core/src/main/resources/views/error/403.html +++ b/modules/core/src/main/resources/views/error/403.html @@ -6,11 +6,9 @@ var message = @ObjectUtils.toString(@request.getAttribute("message")); if (isBlank(message)){ var ex = @ExceptionUtils.getThrowable(request); if (ex != null){ - for (e in [ex, ex.cause!, ex.cause.cause!]){ - if (@StringUtils.startsWith(e.message!, "msg:")){ - message = @StringUtils.replace(e.message!, "msg:", ""); - break; - } + var m = @ExceptionUtils.getExceptionMessage(ex); + if (isNotBlank(m)){ + message = m; } } }