springmvc(五) 數據回顯與自定義異常處理器

      這章講解一下springmvc的數據回顯和自定義異常處理器的使用,兩個都很簡單java

                  --WZYspring

1、數據回顯技術mvc

      Springmvc默認支持對pojo類型的數據回顯,默認不支持簡單類型的數據回顯app

      1.一、什麼是數據回顯?jsp

        在信息校驗時,若是發生校驗錯誤,那麼把校驗的數據信息,依然停留在當前頁面,這就是數據回顯測試

      1.二、pojo的數據回顯spa

        Springmvc會把形參中pojo參數,放到request域中,key爲pojo參數的類型首字母小寫,也就是若是pojo參數爲 Items items,那麼就會將其items放到request域中,至關於request.setAttribute("items",items);  key爲pojo參數類型首字母小寫的意思就是這3d

        若是想使用pojo的默認回顯,那麼jsp中獲取值的key就應該和pojo參數的類型首字母小寫保持一致便可。      對象

      1.三、默認回顯案例blog

        controller

          

        jsp頁面

          

        分析:按照1.2的分析過程,就能夠理解這裏爲何會回顯了,緣由springmvc會將形參中的items放入request域中,而且key爲items。而jsp中的對應這request做用域中的key值就天然能夠獲取到相應的數據了。

 

      1.四、使用註解顯式完成回顯  

        使用ModelAttribute註解來完成數據回顯,它有兩種用法:暴露形參到request域、暴露返回值到request域

        1.4.一、暴露形參到request域

          將@ModelAttribute("XXX")註解加在想要回顯的形參的pojo對象前面,以下圖所示

          controller方法

            

          @ModelAttribute("item")的意思就是將該對象放入request做用域中,而且key爲指定的item,則在跳轉後的頁面中就能夠經過${item.xxx}來獲取各類數據了。

          

          jsp頁面

            

 

        1.4.二、暴露返回值到request域

          將ModelAttribute註解加到方法上時,這個方法就會在requestmapping以前被調用,而且將返回的對象放入request做用域中。舉例說明這個

          controller

            

            在controller類中,建立一個新的方法itemsType,在其方法上加上 @ModelAttribute("itemsType")就會將其返回的對象放入request域中,而且key爲本身設定的itemsType,該方法則會在requestmapping以前被調用,也就是在每一個要執行的處理方法以前被調用。這個方法中建立的一個map對象,而後返回放入request做用域,沒有任何實際的意義,目的就是爲了說明這個效果,通常咱們直接使用默認的數據回顯便可,即便須要改動key值,那麼也可使用第一種方案。

          jsp頁面

            

 

      1.五、數據回顯總結

        通常直接使用默認數據回顯便可,若是須要改變key,使用註解回顯的第一種方式,這裏咱們只是瞭解一下springmvc回顯的原理,理解爲何會回顯就夠了。別遇到了看不懂便可。

 

2、自定義異常處理器

      寫這個自定義異常處理器的目的就是爲了發生異常的,咱們可以提供一個更友好的頁面,而不是返回一個404或者500的錯誤提示頁面給用戶看,因此須要自定義一個異常處理器,等發生異常時,咱們可以捕捉到,而且作必定的事情。

      2.一、自定義異常

        首先本身定義一個異常類,該異常類很簡單,就用來存儲一下異常信息的。內容以下

        BusinessException.java

          

      2.二、自定義異常處理器

        該處理器就處理一個業務邏輯:若是捕捉到自定義異常,那麼久把自定義異常的錯誤信息取出。若是捕捉到運行時異常,那麼就給出一個錯誤信息「未知錯誤"。        

        BusinessExceptionResolver

          

      2.三、配置異常處理器

        就是覆蓋原先默認的異常處理器,沒配置就是使用默認的,默認的就是系統自帶的。拿到了異常就直接按咱們常常顯示404或者500或者別的錯誤信息的頁面返回。可是經過咱們上面自定義的異常處理器,當有異常時就捕捉到(爲何能捕捉到呢?因此爲了讓其可以捕捉到,因此咱們須要配置咱們自定義的異常處理器,這樣有了異常纔會交給它來處理),而後進行處理,而後在轉到咱們專門顯示錯誤的頁面

          

          

      2.四、錯誤頁面

        隨便配置一個,用來顯示錯誤信息便可,要美化等其餘的就另說

        error.jsp

          

      2.五、異常測試

        在controller類中的方法拋出一個自定義異常便可,而後訪問該方法,看結果是否是跳轉到了咱們指望的錯誤頁面,

          

        或者拋出一個運行時異常,測試咱們編寫的異常處理器是否按咱們的理想中狀態進行下去。

 

3、總結

      數據回顯懂原理便可,自定義異常處理器須要的時候要知道如何配置便可。

相關文章
相關標籤/搜索