最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談SpringBoot如何正確攔截thymeleaf異常

 更新時(shí)間:2023年09月07日 09:27:42   作者:你行你上  
Thymeleaf是一個(gè)模板引擎工具,主要用于頁面渲染操作,本文主要介紹了淺談SpringBoot如何正確攔截thymeleaf異常,具有一定的參考價(jià)值,感興趣的可以了解一下

這是一篇可以正確攔截org.thymeleaf.exceptions.TemplateInputException異常的方法水礦石文章,不是解決業(yè)務(wù)問題的文章,比如不經(jīng)常見到的

org.thymeleaf.exceptions.TemplateProcessingE
xception: Could not parse as each: "message : xxx " (template: "xxxx" - line xx, col xx)

thymeleaf異常復(fù)現(xiàn)

你是故意的,還是不小心的 ----我是故意的

成功攔截,使用自定義試圖,捕獲主要信息,減去一大推報(bào)錯(cuò)代碼,只顯示正常信息,顯得優(yōu)雅

為什么不生效

首先應(yīng)該知道 @ControllerAdvice 是攔截不成功的,百世(試)不得其姐(解),正常來說,異常是會(huì)走下面這一行代碼的

@ControllerAdvice
public class SysGlobalExceptionHandler<T> extends BasicController<Class<?>>{
    @ExceptionHandler(Exception.class)
    public ResponseEntity<Object> exception(Throwable e) {
    // 處理異常
    return ResponseEntity.status(this.response.getStatus()).body("Exception未定義異常" + e.getMessage());
    }
}

但是他是不正常的(因?yàn)閿r截不到),為什么,我也不知道,但是AI是這么說的:@ControllerAdvice只能處理通過控制器拋出的異常,并不能處理其他組件拋出的異常。如果需要處理其他組件的異常,需要使用其他的異常處理機(jī)制。
聽君一席話,如菜鳥開大

怎么實(shí)現(xiàn)攔截生效呢

當(dāng)然是重新實(shí)現(xiàn) ErrorController接口了

public Object errorHandle(){
? ? //判斷狀態(tài)碼是500
? ? if (this.response.getStatus() == HttpStatus.INTERNAL_SERVER_ERROR.value()) {
? ? // 獲取異常信息
? ? Throwable throwable = (Throwable) request.getAttribute("javax.servlet.error.exception");
? ? // 判斷是不是模板異常
? ? if (throwable.getCause() instanceof TemplateInputException) {
? ? ? ? //這里其實(shí)也可以是TemplateInputException,throwable.getCause() instanceof TemplateInputException也可以是TemplateProcessingException,最終都是拋出TemplateProcessingException異常
? ? ? ? TemplateProcessingException templateProcessingException = (TemplateProcessingException) throwable.getCause();
? ? ? ? ParseException parseException = (ParseException) templateProcessingException.getCause();
? ? ? ? //這里就是自定義邏輯了
? ? ? ? this.msgFormat("模板出現(xiàn)異常 %s ", parseException.getLocalizedMessage());
? ? ? ? modelAndView.setViewName("err");
? ? ? ? // return this.Output(throwable.getClass());
? ? ? ? //return ResponseEntity.status(this.response.getStatus()).body(parseException.getLocalizedMessage());
? ? }
}
// this.response就是拋出原來的結(jié)果,就比如你寫的邏輯沒有成功攔截到500狀態(tài)碼的其他異常,是啥就顯示啥
return this.response;
}

這樣就完成實(shí)現(xiàn)攔截到thymeleaf的異常,@ControllerAdvice處理不了的異??梢允褂肊rrorController來處理,耶穌也攔不住,魯某說的

有很多東西是后知后覺的,一年前我可能不知道怎么處理,只能去處理業(yè)務(wù),避免出現(xiàn)這種異常,時(shí)間久了,好多知識(shí)點(diǎn)就慢慢領(lǐng)悟了。(多動(dòng)手)

到此這篇關(guān)于淺談SpringBoot如何正確攔截thymeleaf異常的文章就介紹到這了,更多相關(guān)SpringBoot攔截thymeleaf異常內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java中圖像銳化操作的方法詳解

    Java中圖像銳化操作的方法詳解

    這篇文章主要給大家介紹了關(guān)于Java中圖像銳化操作的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Java數(shù)據(jù)結(jié)構(gòu)之順序表的實(shí)現(xiàn)

    Java數(shù)據(jù)結(jié)構(gòu)之順序表的實(shí)現(xiàn)

    線性表(linear?list)是n個(gè)具有相同特性的數(shù)據(jù)元素的有限序列。順序表是常見的線性表之一,本文將詳細(xì)講講順序表的原理與實(shí)現(xiàn),需要的可以參考一下
    2022-08-08
  • 關(guān)于mybatis resulttype 返回值異常的問題

    關(guān)于mybatis resulttype 返回值異常的問題

    這篇文章主要介紹了mybatis resulttype 返回值異常的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Java數(shù)據(jù)結(jié)構(gòu)中七種排序算法實(shí)現(xiàn)詳解

    Java數(shù)據(jù)結(jié)構(gòu)中七種排序算法實(shí)現(xiàn)詳解

    這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)中七種排序算法的實(shí)現(xiàn)方法,排序算法可分為兩大類,比較類排序和非比較類排序,顧名思義可知它們是通過比較來決定元素間的相對(duì)次序,需要詳細(xì)了解排序算法的朋友可以參考下
    2024-02-02
  • 使用java打印心型、圓形圖案的實(shí)現(xiàn)代碼

    使用java打印心型、圓形圖案的實(shí)現(xiàn)代碼

    這篇文章主要介紹了使用java打印心型、圓形圖案的實(shí)現(xiàn)代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • SpringSecurity實(shí)現(xiàn)自定義登錄接口的詳細(xì)過程

    SpringSecurity實(shí)現(xiàn)自定義登錄接口的詳細(xì)過程

    本文詳細(xì)介紹了如何使用SpringSecurity實(shí)現(xiàn)自定義登錄接口,文章還涉及了對(duì)用戶實(shí)體類的增強(qiáng)以滿足詳細(xì)信息的需求,適合需要深入了解和實(shí)現(xiàn)SpringSecurity自定義登錄功能的開發(fā)者,感興趣的朋友跟隨小編一起看看吧
    2024-10-10
  • ResponseBodyAdvice的使用原理源碼解析

    ResponseBodyAdvice的使用原理源碼解析

    這篇文章主要為大家介紹了ResponseBodyAdvice的使用原理源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • 基于spring注入為null的原因及解決方案

    基于spring注入為null的原因及解決方案

    這篇文章主要介紹了spring注入為null的原因及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • SpringBoot Validation入?yún)⑿r?yàn)國際化的項(xiàng)目實(shí)踐

    SpringBoot Validation入?yún)⑿r?yàn)國際化的項(xiàng)目實(shí)踐

    在Spring Boot中,可以使用Validation和國際化來實(shí)現(xiàn)對(duì)入?yún)⒌男r?yàn),本文就來介紹一下SpringBoot Validation入?yún)⑿r?yàn)國際化,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • SpringBoot WebSocket連接報(bào)no mapping for GET問題

    SpringBoot WebSocket連接報(bào)no mapping for GE

    文章描述了一個(gè)在調(diào)試WebSocket連接時(shí)遇到的`nomappingforGET`異常問題,并提供了問題解決的方法,包括檢查WebSocket注解和補(bǔ)充相關(guān)配置,此外,還特別提到了在使用Nginx轉(zhuǎn)發(fā)WebSocket時(shí)所需的配置
    2025-02-02

最新評(píng)論

牟定县| 威远县| 鹤山市| 许昌市| 木兰县| 涞源县| 拉萨市| 秭归县| 时尚| 志丹县| 阿拉善左旗| 大宁县| 建德市| 鄢陵县| 崇义县| 太原市| 龙海市| 壶关县| 西乌珠穆沁旗| 灌南县| 巴青县| 永定县| 固始县| 大田县| 永兴县| 白河县| 慈利县| 明溪县| 子洲县| 青海省| 甘德县| 民县| 余姚市| 香格里拉县| 麦盖提县| 鹤岗市| 永平县| 枣庄市| 南京市| 巴南区| 安宁市|