From 64233ef9f07fe8a018547296c6082cd24f530330 Mon Sep 17 00:00:00 2001 From: thinkgem Date: Tue, 27 Feb 2018 22:10:41 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=80=E6=BA=90error=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=EF=BC=8Cinclude=E9=A1=B5=E9=9D=A2=EF=BC=8Clayouts=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/views/error/403.html | 43 +++++++++++++++ .../src/main/resources/views/error/404.html | 50 +++++++++++++++++ .../src/main/resources/views/error/500.html | 53 +++++++++++++++++++ .../main/resources/views/include/csslibs.html | 22 ++++++++ .../main/resources/views/include/head.html | 18 +++++++ .../main/resources/views/include/jslibs.html | 41 ++++++++++++++ .../main/resources/views/layouts/default.html | 19 +++++++ .../views/themes/default/include/footer.html | 2 + .../views/themes/default/include/header.html | 2 + 9 files changed, 250 insertions(+) create mode 100644 modules/core/src/main/resources/views/error/403.html create mode 100644 modules/core/src/main/resources/views/error/404.html create mode 100644 modules/core/src/main/resources/views/error/500.html create mode 100644 modules/core/src/main/resources/views/include/csslibs.html create mode 100644 modules/core/src/main/resources/views/include/head.html create mode 100644 modules/core/src/main/resources/views/include/jslibs.html create mode 100644 modules/core/src/main/resources/views/layouts/default.html create mode 100644 modules/core/src/main/resources/views/themes/default/include/footer.html create mode 100644 modules/core/src/main/resources/views/themes/default/include/header.html diff --git a/modules/core/src/main/resources/views/error/403.html b/modules/core/src/main/resources/views/error/403.html new file mode 100644 index 00000000..8110e30d --- /dev/null +++ b/modules/core/src/main/resources/views/error/403.html @@ -0,0 +1,43 @@ +<% +@servlet.getResponse().setStatus(400); + +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:", ""); + } + } +} + +if (isBlank(message)){ + message = "您的操作权限不足!"; +} + +// 如果是异步请求或是手机端,则直接返回信息 +if (@ServletUtils.isAjaxRequest(request)) { + print(message); +} + +// 输出异常信息页面 +else { +%> +<% layout('/layouts/default.html', {title: '403 - 操作权限不足'}){ %> + +
+
403
+
+

${message}

+

很抱歉,您没有权限访问此页面,若有疑问请联系管理员。

+ +
+ +
+<% } %> +<% } %> \ No newline at end of file diff --git a/modules/core/src/main/resources/views/error/404.html b/modules/core/src/main/resources/views/error/404.html new file mode 100644 index 00000000..a74eb2f2 --- /dev/null +++ b/modules/core/src/main/resources/views/error/404.html @@ -0,0 +1,50 @@ +<% +@servlet.getResponse().setStatus(404); + +var message = @ObjectUtils.toString(@request.getAttribute("message")); + +if (isBlank(message)){ + message = "您访问的页面不存在!"; +} + +// 下载文件不存在的异常,状态码设为正常 +if (message == '文件已丢失或不存在!'){ + @servlet.getResponse().setStatus(200); +} + +// 如果是异步请求或是手机端,则直接返回信息 +if (@ServletUtils.isAjaxRequest(request)) { + print(message); +} + +// 输出异常信息页面 +else { +%> +<% layout('/layouts/default.html', {title: '404 - 页面不存在'}){ %> + +
+
404
+
+

${message}

+

可能是如下原因引起的这个错误:

+
    +
  • 地址输入错误,链接已经失效过期.
  • +
  • + 您访问的地址为:${ + @EncodeUtils.escapeHtml( + @request.getAttribute('javax.servlet.forward.request_uri') + ) + }
  • +
  • 若有疑问请联系管理员.
  • +
  • ......
  • +
+ +
+ +
+<% } %> +<% } %> \ No newline at end of file diff --git a/modules/core/src/main/resources/views/error/500.html b/modules/core/src/main/resources/views/error/500.html new file mode 100644 index 00000000..892f37a2 --- /dev/null +++ b/modules/core/src/main/resources/views/error/500.html @@ -0,0 +1,53 @@ +<% +@servlet.getResponse().setStatus(500); + +var message = @ObjectUtils.toString(@request.getAttribute("message")); + +var ex; +if (isBlank(message)){ + ex = @ExceptionUtils.getThrowable(request); + if (ex != null){ + if (@StringUtils.startsWith(@ex.getMessage(), "msg:")){ + message = @StringUtils.replace(@ex.getMessage(), "msg:", ""); + }else if (ex.class.name == 'com.jeesite.common.service.ServiceException'){ + message = @ex.getMessage(); + } + @org.slf4j.LoggerFactory.getLogger("error/500").error(ex.message, ex); + } +} + +if (isBlank(message)){ + message = "您访问的页面出错啦!"; +} + +// 如果是异步请求或是手机端,则直接返回信息 +if (@ServletUtils.isAjaxRequest(request)) { + print(message); +} + +// 输出异常信息页面 +else { +%> +<% layout('/layouts/default.html', {title: '500 - 系统内部错误'}){ %> + +
+
500
+
+

${message}

+

对不起,你访问的页面出现了一点问题,请及时联系管理员解决!

+ +
+ +
+<% if (@ObjectUtils.toBoolean(@Global.getConfig('error.page.printErrorInfo', 'true'))){ %> +
+ ${@StringUtils.toHtml(@ExceptionUtils.getStackTraceAsString(ex))}
+ 此异常信息若不想输出,可打开jeesite.properties文件,设置error.page.printErrorInfo=false即可 +
+<% } %> +<% } %> +<% } %> \ No newline at end of file diff --git a/modules/core/src/main/resources/views/include/csslibs.html b/modules/core/src/main/resources/views/include/csslibs.html new file mode 100644 index 00000000..085a8fdb --- /dev/null +++ b/modules/core/src/main/resources/views/include/csslibs.html @@ -0,0 +1,22 @@ +<%/* Copyright (c) 2013-Now http://jeesite.com All rights reserved. */ %> + + + + +<% if (@ListUtils.inString('zTree', libs!)){ %> + +<% } %> +<% if (@ListUtils.inString('tabPage', libs!)){ %> + +<% } %> +<% if (@ListUtils.inString('dataGrid', libs!)){ %> + +<% } %> +<% if (@ListUtils.inString('layout', libs!)){ %> + +<% } %> +<% if (@ListUtils.inString('fileupload', libs!)){ %> + +<% } %> + + diff --git a/modules/core/src/main/resources/views/include/head.html b/modules/core/src/main/resources/views/include/head.html new file mode 100644 index 00000000..fa58909d --- /dev/null +++ b/modules/core/src/main/resources/views/include/head.html @@ -0,0 +1,18 @@ +<%/* Copyright (c) 2013-Now http://jeesite.com All rights reserved. */ +var productName = @Global.getConfig('productName') + ' ' + @Global.getConfig('productVersion'); +var pageTitle = (isNotBlank(title!) ? title! + ' - ' : '') + productName; +var globalFields = @Global.getConst('Global.Fields'); +%> + + + + + + + + +${pageTitle} + + + + diff --git a/modules/core/src/main/resources/views/include/jslibs.html b/modules/core/src/main/resources/views/include/jslibs.html new file mode 100644 index 00000000..a339b1be --- /dev/null +++ b/modules/core/src/main/resources/views/include/jslibs.html @@ -0,0 +1,41 @@ +<%/* Copyright (c) 2013-Now http://jeesite.com All rights reserved. */ %> + + + + + +<% if (@ListUtils.inString('zTree', libs!)){ %> + +<% } %> +<% if (@ListUtils.inString('tabPage', libs!)){ %> + + +<% } %> +<% if (@ListUtils.inString('dataGrid', libs!)){ %> + + +<% } %> +<% if (@ListUtils.inString('validate', libs!)){ %> + + + +<% } %> +<% if (@ListUtils.inString('layout', libs!)){ %> + + + +<% } %> +<% if (@ListUtils.inString('inputmask', libs!)){ %> + +<% } %> +<% if (@ListUtils.inString('fileupload', libs!)){ %> + + +<% } %> +<% if (@ListUtils.inString('ueditor', libs!)){ %> + + + +<% } %> + + diff --git a/modules/core/src/main/resources/views/layouts/default.html b/modules/core/src/main/resources/views/layouts/default.html new file mode 100644 index 00000000..c1aff9dc --- /dev/null +++ b/modules/core/src/main/resources/views/layouts/default.html @@ -0,0 +1,19 @@ +<%/* Copyright (c) 2013-Now http://jeesite.com All rights reserved. */ +/* + * 默认布局文件 + * @param title 页面标题 + * @param bodyClass body标签的class内容 + * @param libs 要引用的js或css类库 + */ +var themeName = @Global.getConfig('web.view.themeName', 'default'); +%> +<% print('<'+'!DOC'+'TYPE html'+'>'); %> +<% print('<'+'html'+'><'+'head'+'>'); %> +<% include('/include/head.html', {title: title!}){} %> +<% include('/themes/'+themeName+'/include/header.html', {libs: libs!}){} %> + +<% if (!@ListUtils.inString('layout', libs!)){ %> +
${layoutContent}
+<% }else{ %>${layoutContent}<% } %> + +<% include('/themes/'+themeName+'/include/footer.html', {libs: libs!}){} %> diff --git a/modules/core/src/main/resources/views/themes/default/include/footer.html b/modules/core/src/main/resources/views/themes/default/include/footer.html new file mode 100644 index 00000000..20af62cd --- /dev/null +++ b/modules/core/src/main/resources/views/themes/default/include/footer.html @@ -0,0 +1,2 @@ +<% include('/include/jslibs.html', {libs: libs!}){} %> + diff --git a/modules/core/src/main/resources/views/themes/default/include/header.html b/modules/core/src/main/resources/views/themes/default/include/header.html new file mode 100644 index 00000000..07f86994 --- /dev/null +++ b/modules/core/src/main/resources/views/themes/default/include/header.html @@ -0,0 +1,2 @@ +<% include('/include/csslibs.html', {libs: libs!}){} %> +