中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringBoot中的錯誤頁面如何使用thymeleaf實現自定義

發布時間:2020-11-25 14:11:02 來源:億速云 閱讀:290 作者:Leah 欄目:開發技術

本篇文章給大家分享的是有關SpringBoot中的錯誤頁面如何使用thymeleaf實現自定義,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

導入thymeleaf

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

自定義異常類

建立監聽異常類

MyException.class

package com.example.demo.domain;

public class MyException extends RuntimeException {

  private int code;

  private String msg;

  public MyException(int code, String msg) {
    this.code = code;
    this.msg = msg;
  }

  public int getCode() {
    return code;
  }

  public void setCode(int code) {
    this.code = code;
  }

  public String getMsg() {
    return msg;
  }

  public void setMsg(String msg) {
    this.msg = msg;
  }
}

CustomExtHandle 監測異常

package com.example.demo.domain;

import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;
import java.util.logging.Logger;

@RestControllerAdvice
public class CustomExtHandle {


  // 捕獲全局異常
  @ExceptionHandler(value = Exception.class)
  Object handleException(Exception e, HttpServletRequest request) {
    Map<String, Object> map = new HashMap<>();
    map.put("code", 100);
    map.put("msg", e.getMessage());
    map.put("url", request.getRequestURL());
    return map;
  }

  // 如果是Myexception類
  @ExceptionHandler(value = MyException.class)
  Object handleMyException(MyException e, HttpServletRequest request) {
    ModelAndView modelAndView = new ModelAndView();
    modelAndView.setViewName("error.html"); // 指定錯誤跳轉頁面 需要在templates里面新建 一個error.html
    modelAndView.addObject("msg", e.getMsg());
    modelAndView.addObject("code", e.getCode());
    modelAndView.addObject("url", request.getRequestURL());
    return modelAndView;
    
    // 當然這里也可以返回json數據 前后臺分離的話直接返回一個json即可
  }
}

template/error.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<h2>出異常了</h2>

<span>錯誤信息:</span><h2 th:text="${msg}"></h2>  // 獲取變量
<span>錯誤狀態碼:</span><h2 th:text="$[code]"></h2>
<span>失敗API地址:</span><h2 th:text="${url}"></h2>
</body>
</html>

使用

@RequestMapping("/user_info")
  public Map<String, String> testMap() {
    throw new MyException(500, "手動拋出");
  }

效果

SpringBoot中的錯誤頁面如何使用thymeleaf實現自定義

以上就是SpringBoot中的錯誤頁面如何使用thymeleaf實現自定義,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南充市| 察雅县| 海兴县| 扎兰屯市| 天镇县| 田林县| 龙口市| 漳平市| 前郭尔| 色达县| 广南县| 岱山县| 社会| 措美县| 游戏| 沁阳市| 囊谦县| 泰安市| 雷山县| 文水县| 新郑市| 佛山市| 射洪县| 特克斯县| 兴城市| 安福县| 台江县| 康定县| 蓝山县| 绥江县| 孟津县| 兰考县| 大城县| 修文县| 五莲县| 长治市| 宜州市| 兴城市| 兴义市| 济阳县| 延长县|