主頁 > 知識(shí)庫 > SpringMVC自定義屬性編輯器詳解及實(shí)例

SpringMVC自定義屬性編輯器詳解及實(shí)例

熱門標(biāo)簽:電話機(jī)器人需要使用網(wǎng)絡(luò)嗎 外呼系統(tǒng)使用方法 電銷機(jī)器人免培訓(xùn) 南通通訊外呼系統(tǒng)產(chǎn)品介紹 潤滑油銷售電銷機(jī)器人 給地圖標(biāo)注得傭金 海外圖書館地圖標(biāo)注點(diǎn) 如何看懂地圖標(biāo)注點(diǎn) 自繪地圖標(biāo)注數(shù)據(jù)

SpringMVC自定義屬性編輯器詳解及實(shí)例

自定義springMVC的屬性編輯器主要有兩種方式,一種是使用@InitBinder標(biāo)簽在運(yùn)行期注冊(cè)一個(gè)屬性編輯器,這種編輯器只在當(dāng)前Controller里面有效;還有一種是實(shí)現(xiàn)自己的 WebBindingInitializer,然后定義一個(gè)AnnotationMethodHandlerAdapter的bean,在此bean里面進(jìn)行注冊(cè) ,這種屬性編輯器是全局的。 

第一種方式:

import java.beans.PropertyEditorSupport; 
import java.io.IOException; 
import java.text.SimpleDateFormat; 
import java.util.Date; 
 
import javax.servlet.http.HttpServletResponse; 
 
import org.springframework.beans.propertyeditors.CustomDateEditor; 
import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.WebDataBinder; 
import org.springframework.web.bind.annotation.InitBinder; 
import org.springframework.web.bind.annotation.PathVariable; 
import org.springframework.web.bind.annotation.RequestMapping; 
 
@Controller 
public class GlobalController { 
 
   
  @RequestMapping("test/{date}") 
  public void test(@PathVariable Date date, HttpServletResponse response) throws IOException 
    response.getWriter().write( date); 
 
  } 
   
  @InitBinder//必須有一個(gè)參數(shù)WebDataBinder 
  public void initBinder(WebDataBinder binder) { 
    binder.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd"), false)); 
 
        binder.registerCustomEditor(int.class, new PropertyEditorSupport() { 
 
      @Override 
      public String getAsText() { 
        // TODO Auto-generated method stub 
        return getValue().toString(); 
      } 
 
      @Override 
      public void setAsText(String text) throws IllegalArgumentException { 
        // TODO Auto-generated method stub 
        System.out.println(text + "..........................................."); 
        setValue(Integer.parseInt(text)); 
      } 
       
    }); 
  } 
   
   
} 

  這種方式這樣寫了就可以了

 第二種: 

1.定義自己的WebBindingInitializer

package com.xxx.blog.util; 
 
import java.util.Date; 
import java.text.SimpleDateFormat; 
 
import org.springframework.beans.propertyeditors.CustomDateEditor; 
import org.springframework.web.bind.WebDataBinder; 
import org.springframework.web.bind.support.WebBindingInitializer; 
import org.springframework.web.context.request.WebRequest; 
 
public class MyWebBindingInitializer implements WebBindingInitializer { 
 
  @Override 
  public void initBinder(WebDataBinder binder, WebRequest request) { 
    // TODO Auto-generated method stub 
    binder.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd"), false)); 
  } 
 
} 
 

2.在springMVC的配置文件里面定義一個(gè)AnnotationMethodHandlerAdapter,并設(shè)置其WebBindingInitializer屬性為我們自己定義的WebBindingInitializer對(duì)象 

bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> 
    property name="cacheSeconds" value="0"/> 
    property name="webBindingInitializer"> 
      bean class="com.xxx.blog.util.MyWebBindingInitializer"/> 
    /property> 
  /bean> 

 第二種方式經(jīng)過上面兩步就可以定義一個(gè)全局的屬性編輯器了。

注意:當(dāng)使用了mvc:annotation-driven />的時(shí)候,它 會(huì)自動(dòng)注冊(cè)DefaultAnnotationHandlerMapping與AnnotationMethodHandlerAdapter 兩個(gè)bean。這時(shí)候第二種方式指定的全局屬性編輯器就不會(huì)起作用了,解決辦法就是手動(dòng)的添加上述bean,并把它們加在mvc:annotation-driven/>的前面。

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

您可能感興趣的文章:
  • SpringMVC4 + MyBatis3 + SQL Server 2014整合教程(含增刪改查分頁)
  • SpringMVC + jquery.uploadify實(shí)現(xiàn)上傳文件功能
  • SpringMVC+bootstrap table實(shí)例詳解
  • springMvc注解之@ResponseBody和@RequestBody詳解
  • Spring+SpringMVC+MyBatis深入學(xué)習(xí)及搭建(一)之MyBatis的基礎(chǔ)知識(shí)
  • SpringMVC中MultipartFile上傳獲取圖片的寬度和高度詳解

標(biāo)簽:黃石 貸款邀約 內(nèi)江 樂山 南京 銅川 大連 廣州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《SpringMVC自定義屬性編輯器詳解及實(shí)例》,本文關(guān)鍵詞  SpringMVC,自定義,屬性,編輯器,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《SpringMVC自定義屬性編輯器詳解及實(shí)例》相關(guān)的同類信息!
  • 本頁收集關(guān)于SpringMVC自定義屬性編輯器詳解及實(shí)例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章