亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

嘉义县| 扶风县| 拜泉县| 双峰县| 江北区| 淳化县| 大悟县| 铁岭市| 东方市| 治多县| 庐江县| 永德县| 乌拉特前旗| 漳州市| 千阳县| 安平县| 团风县| 宾阳县| 金堂县| 承德市| 新巴尔虎左旗| 泽库县| 河间市| 稷山县| 阳山县| 普兰县| 九龙县| 内江市| 亳州市| 嫩江县| 红桥区| 黄龙县| 广东省| 江都市| 灌阳县| 富裕县| 河池市| 邯郸县| 女性| 丹东市| 郯城县|