成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

3.13、@InitBinder 和 WebDataBinder

dreamGong / 3317人閱讀

摘要:標(biāo)記初始化的方法,被用于填充被注解的處理方法的命令和表單對(duì)象參數(shù)。初始化綁定器方法必須不帶返回值,所以它們通常被聲明為的。典型的參數(shù)包括和或者,允許用代碼方式注冊(cè)特定上下文的編輯器。詳情見使用和通知控制器一節(jié)。

??這一部分示例見這個(gè)項(xiàng)目的 mvc 分支下的 WebDataBinderController.java

① 用@InitBinder自定義數(shù)據(jù)綁定

??用@InitBinder注解的控制器方法,允許你直接在你的控制器類中配置 Web 數(shù)據(jù)綁定。@InitBinder標(biāo)記初始化WebDataBinder的方法,WebDataBinder被用于填充被注解的處理方法的命令和表單對(duì)象參數(shù)。

??這些初始化綁定器(Init-binder)方法支持@RequestMapping方法支持的所有參數(shù),處理命令/表單對(duì)象以及相關(guān)的校驗(yàn)結(jié)果對(duì)象。初始化綁定器方法必須不帶返回值,所以它們通常被聲明為 void 的。典型的參數(shù)包括WebDataBinderWebRequest或者java.util.Locale,允許用代碼方式注冊(cè)特定上下文的編輯器(context-specific editors)。

??下面的例子演示了使用@InitBinder為所有的java.util.Date表單屬性配置一個(gè)CustomDateEditor

@Controller
public class MyFormController 
{
    @InitBinder
    protected void initBinder(WebDataBinder binder) 
    {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        dateFormat.setLenient(false);
        binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false));
    }

    // ...
}

??相對(duì)地,從 Spring 4.2 開始,考慮使用addCustomFormatter來指定Formatter實(shí)現(xiàn)以代替PropertyEditor實(shí)例。如果你恰好在一個(gè)共享的FormattingConversionService中也有一個(gè)個(gè)基于Formatter的設(shè)置(setup),這會(huì)非常用,同樣的規(guī)則可以用重用于控制器指定的綁定規(guī)則的變化:

@Controller
public class MyFormController 
{
    @InitBinder
    protected void initBinder(WebDataBinder binder) 
    {
        binder.addCustomFormatter(new DateFormatter("yyyy-MM-dd"));
    }
    // ...
}
② 配置一個(gè)自定義的WebBindingInitializer

??為了表達(dá)(externalize)數(shù)據(jù)綁定初始化,你可以提供一個(gè)自定義的WebBindingInitializer接口實(shí)現(xiàn),然后你可以通過為RequestMappingHandlerAdapter來提供一個(gè)自定義 Bean 配置來啟動(dòng)WebBindingInitializer,所以要重寫默認(rèn)配置。

??下面的例子來自 PetClinic 應(yīng)用程序(雖然文檔上說了一下,可我也不知道這個(gè)項(xiàng)目在哪里……),展示了一個(gè)配置,使用一個(gè)自定義WebBindingInitializer接口實(shí)現(xiàn)——org.springframework.samples.petclinic.web.ClinicBindingInitializer,它配置的PropertyEditors需要幾個(gè)控制器。


    
    
        
    

??@InitBinder方法也可以定義在一個(gè)帶有@ControllerAdvice注解的類中,在這種情況下,它們用于匹配控制器。這提供了一個(gè)使用WebBindingInitializer的代替方法。詳情見“使用@ControllerAdvice@RestControllerAdvice通知控制器一節(jié)”。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/66058.html

相關(guān)文章

  • ControllerAdvice攔截器

    摘要:看成提供的一個(gè)特殊的攔截器。是一個(gè),用于定義最主要用途,和方法,適用于所有使用方法攔截。為所有封裝統(tǒng)一異常處理代碼。為所有設(shè)置全局變量。用于為所有設(shè)置某個(gè)類型的數(shù)據(jù)轉(zhuǎn)換器。 Spring3.2開始提供的新注解,控制器增強(qiáng)(AOP),最主要的應(yīng)用是做統(tǒng)一的異常處理。@ControllerAdvice(看成spring mvc提供的一個(gè)特殊的攔截器)。@ControllerAdvice是一...

    caohaoyu 評(píng)論0 收藏0
  • Spring處理器(Controller)全局建言

    摘要:我們可以寫一個(gè)類,在上面注解控制器建言可以有三種建言第一步編寫全局建言類你可以在目錄下編寫一個(gè)類我建議放在工具包下如圖很簡單的我們就創(chuàng)建了的增強(qiáng)器第二步編寫功能增強(qiáng)器有三種功能全局異常增強(qiáng)通過的屬性過濾攔截的條件,可以攔截所有的表單初始化增 @ControllerAdvice我們可以寫一個(gè)類,在上面注解@ControllerAdvice控制器建言可以有三種建言: 第一步:編寫全局建言類...

    bovenson 評(píng)論0 收藏0
  • SpringMVC之Controller常用注解功能全解析

    摘要:分發(fā)處理器將會(huì)掃描使用了該注解的類的方法,并檢測(cè)該方法是否使用了注解。這種絕對(duì)路徑和相對(duì)路徑所組合成的最終路徑都是相對(duì)于根路徑而言的。屬性屬性主要是用于限制能夠訪問的方法類型的。屬性的用法和功能與屬性相似。使用標(biāo)記的參數(shù)。 一、簡介 在SpringMVC 中,控制器Controller 負(fù)責(zé)處理由DispatcherServlet 分發(fā)的請(qǐng)求,它把用戶請(qǐng)求的數(shù)據(jù)經(jīng)過業(yè)務(wù)處理層處理之后封...

    wanghui 評(píng)論0 收藏0
  • 一次線上問題的排查解決過程

    摘要:排查異常日志,發(fā)現(xiàn)沒有該問題存在。測(cè)試功能正常,沒有重現(xiàn)線上問題。解決問題原因定位好了,剩下的就是如何解決了。兩個(gè)方案修改線上配置該上實(shí)施難度系數(shù)高,因?yàn)楣臼褂玫慕y(tǒng)一發(fā)布部署平臺(tái),開發(fā)人員無服務(wù)器操作權(quán)限。 問題 XX系統(tǒng)中,一個(gè)用戶需要維護(hù)的項(xiàng)目數(shù)過多,填寫的任務(wù)數(shù)超多,產(chǎn)生了一次工時(shí)保存中,只有前面一部分的xx數(shù)據(jù)持久化到數(shù)據(jù)庫,后面的數(shù)據(jù)沒有保存。 圖1 showImg(htt...

    宋華 評(píng)論0 收藏0
  • 一次線上問題的排查解決過程

    摘要:排查異常日志,發(fā)現(xiàn)沒有該問題存在。測(cè)試功能正常,沒有重現(xiàn)線上問題。解決問題原因定位好了,剩下的就是如何解決了。兩個(gè)方案修改線上配置該上實(shí)施難度系數(shù)高,因?yàn)楣臼褂玫慕y(tǒng)一發(fā)布部署平臺(tái),開發(fā)人員無服務(wù)器操作權(quán)限。 問題 XX系統(tǒng)中,一個(gè)用戶需要維護(hù)的項(xiàng)目數(shù)過多,填寫的任務(wù)數(shù)超多,產(chǎn)生了一次工時(shí)保存中,只有前面一部分的xx數(shù)據(jù)持久化到數(shù)據(jù)庫,后面的數(shù)據(jù)沒有保存。 圖1 showImg(htt...

    airborne007 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<