91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

禄劝| 方山县| 天柱县| 南宫市| 阿拉善左旗| 原阳县| 咸丰县| 宜章县| 根河市| 措美县| 南丰县| 海晏县| 漯河市| 安多县| 岱山县| 黄平县| 台中县| 依安县| 河池市| 石渠县| 平泉县| 丹东市| 金乡县| 高碑店市| 绥化市| 伊川县| 娄底市| 河东区| 平遥县| 台湾省| 定州市| 宁城县| 通榆县| 庐江县| 鄂托克旗| 常山县| 平顺县| 庆阳市| 饶平县| 苏州市| 呈贡县|