亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SpringBoot集成Beetl后統(tǒng)一處理頁面異常的方法

 更新時間:2019年08月22日 14:36:53   作者:滕沖  
這篇文章主要介紹了SpringBoot集成Beetl后統(tǒng)一處理頁面異常的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

背景

SpringBoot集成Beetl后如果頁面出現(xiàn)異常會將出現(xiàn)異常之前的頁面輸出到客戶端,但是由于頁面不完整會導(dǎo)致用戶看到的頁面錯亂或者空白,如下

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>

在控制臺可以看到

>>11:11:47:該方法未注冊(FUNCTION_NOT_FOUND):err 位于8行 資源:modular/sys/login/login.html
5|  <title>Title</title>
6|</head>
7|<body>
8|  ${err()}
9|</body>
10|</html>

我們一般希望當(dāng)出現(xiàn)異常時返回異常提示頁面而不是不完整的頁面。

設(shè)置ErrorHandler

Beetl默認發(fā)生頁面異常時不對異常進行拋出,在文檔中我們可以看到

2.2.3版本以后,新增加org.beetl.ext.web.WebErrorHandler,可以在web開發(fā)的時候在頁面輸出提示信息,在產(chǎn)品模式下在后臺輸出提示信息(通過配置屬性ESOURCE.autoCheck= true來認為是開發(fā)模式),僅僅需要配置如下:
ERROR_HANDLER = org.beetl.ext.web.WebErrorHandler

所以這里設(shè)置ErrorHandler,使用Beetl提供的org.beetl.ext.web.WebErrorHandler

BeetlConfiguration beetlConfiguration = new BeetlConfiguration();
beetlConfiguration.setErrorHandler(new WebErrorHandler());

再次訪問頁面可以看到頁面中顯示了調(diào)用棧

根據(jù)環(huán)境做不同處理

在實際應(yīng)用中,開發(fā)環(huán)境我們希望看到異常信息,生產(chǎn)環(huán)境希望看到的是統(tǒng)一的異常提示頁面,而不是用戶看不懂的代碼信息,在org.beetl.ext.web.WebErrorHandler中可以看到

//判斷是不是開發(fā)者模式,如果不是調(diào)用父類方法(默認輸出控制臺)
if (!Boolean.valueOf(e.gt.getConf().getProperty("RESOURCE.autoCheck"))){
 super.processExcption(e, writer);
}

這里通過配置屬性ESOURCE.autoCheck= true來認為是開發(fā)模式,但是通過BeetlConfiguration.setConfigProperties設(shè)置ESOURCE.autoCheck=false后依然無效(模板不會熱加載,但是這邊依舊當(dāng)做開發(fā)環(huán)境),也有可能是我設(shè)置不對的原因。
所以通過自定義WebErrorHandler解決此問題,通過判斷spring.spring.active去判斷當(dāng)前環(huán)境;也可以拋出異常到全局異常統(tǒng)一處理。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java?Web中ServletContext對象詳解與應(yīng)用

    Java?Web中ServletContext對象詳解與應(yīng)用

    ServletContext是一個容器,可以用來存放變量,供一個web項目中多個Servlet共享,下面這篇文章主要給大家介紹了關(guān)于Java?Web中ServletContext對象詳解與應(yīng)用的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • Java synchronized鎖升級jol過程詳解

    Java synchronized鎖升級jol過程詳解

    這篇文章主要介紹了Java synchronized鎖升級jol過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • Spring-Web與Spring-WebFlux沖突問題解決

    Spring-Web與Spring-WebFlux沖突問題解決

    Spring WebFlux是一套全新的Reactive Web技術(shù)棧,實現(xiàn)完全非阻塞,支持Reactive Streams背壓等特性,這篇文章主要給大家介紹了關(guān)于Spring-Web與Spring-WebFlux沖突問題解決的相關(guān)資料,需要的朋友可以參考下
    2024-04-04
  • 一篇文章看懂Java異常處理

    一篇文章看懂Java異常處理

    異常是程序中的一些錯誤,但并不是所有的錯誤都是異常,并且錯誤有時候是可以避免的,這篇文章主要給大家介紹了關(guān)于Java異常處理的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • 解析Java程序中對象內(nèi)存的分配和控制的基本方法

    解析Java程序中對象內(nèi)存的分配和控制的基本方法

    這篇文章主要介紹了解析Java程序中對象內(nèi)存的分配和控制的基本方法,包括計算對象的內(nèi)存占用的方法,要的朋友可以參考下
    2016-04-04
  • Java基于迭代器模式實現(xiàn)的訪問人員列表操作示例

    Java基于迭代器模式實現(xiàn)的訪問人員列表操作示例

    這篇文章主要介紹了Java基于迭代器模式實現(xiàn)的訪問人員列表操作,簡單描述了迭代器模式的概念、原理以及使用迭代器模式實現(xiàn)訪問人員列表的相關(guān)操作技巧,需要的朋友可以參考下
    2018-05-05
  • JAVA 區(qū)分集合和數(shù)組

    JAVA 區(qū)分集合和數(shù)組

    這篇文章主要介紹了JAVA如何區(qū)分集合和數(shù)組,文中講解非常細致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • 淺析java中Pair和Map的區(qū)別

    淺析java中Pair和Map的區(qū)別

    這篇文章主要介紹了java中Pair和Map的區(qū)別,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Struts2學(xué)習(xí)筆記(3)-DMI動態(tài)調(diào)用方式

    Struts2學(xué)習(xí)筆記(3)-DMI動態(tài)調(diào)用方式

    本文主要介紹Struts2的DMI動態(tài)調(diào)用的兩種方式,簡單實用,希望能給大家做一個參考。
    2016-06-06
  • 阿里開源Java診斷工具神器使用及場景詳解

    阿里開源Java診斷工具神器使用及場景詳解

    這篇文章主要為大家介紹了阿里開源Java診斷工具神器使用及場景詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01

最新評論