国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

3.13、@InitBinder 和 WebDataBinder

dreamGong / 3251人閱讀

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

??這一部分示例見這個項目的 mvc 分支下的 WebDataBinderController.java

① 用@InitBinder自定義數據綁定

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

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

??下面的例子演示了使用@InitBinder為所有的java.util.Date表單屬性配置一個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));
    }

    // ...
}

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

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

??為了表達(externalize)數據綁定初始化,你可以提供一個自定義的WebBindingInitializer接口實現,然后你可以通過為RequestMappingHandlerAdapter來提供一個自定義 Bean 配置來啟動WebBindingInitializer,所以要重寫默認配置。

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


    
    
        
    

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

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/66058.html

相關文章

  • ControllerAdvice攔截器

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

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

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

    bovenson 評論0 收藏0
  • SpringMVC之Controller常用注解功能全解析

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

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

    摘要:排查異常日志,發現沒有該問題存在。測試功能正常,沒有重現線上問題。解決問題原因定位好了,剩下的就是如何解決了。兩個方案修改線上配置該上實施難度系數高,因為公司使用的統一發布部署平臺,開發人員無服務器操作權限。 問題 XX系統中,一個用戶需要維護的項目數過多,填寫的任務數超多,產生了一次工時保存中,只有前面一部分的xx數據持久化到數據庫,后面的數據沒有保存。 圖1 showImg(htt...

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

    摘要:排查異常日志,發現沒有該問題存在。測試功能正常,沒有重現線上問題。解決問題原因定位好了,剩下的就是如何解決了。兩個方案修改線上配置該上實施難度系數高,因為公司使用的統一發布部署平臺,開發人員無服務器操作權限。 問題 XX系統中,一個用戶需要維護的項目數過多,填寫的任務數超多,產生了一次工時保存中,只有前面一部分的xx數據持久化到數據庫,后面的數據沒有保存。 圖1 showImg(htt...

    airborne007 評論0 收藏0

發表評論

0條評論

dreamGong

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<