1. 程式人生 > >SpringMVC接收java.util.Date型別資料的2種方法

SpringMVC接收java.util.Date型別資料的2種方法

在Controller中如下定義方法

public PassQueryRequest trade(@ModelAttribute PassQueryRequest tradeRequest,
@RequestParam(value="startDate", required=true)Date startDate,
@RequestParam(value="endDate", required=true)Date endDate

1,在springmvc中使用物件接收引數時

在PassQueryRequest中,在日期屬性的set方法中增加定義,以及maven配置

@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    public Date getStartDate() {
        return startDate;
    }

<dependency>
            <groupId>joda-time</groupId>
            <artifactId>joda-time</artifactId>
            <version>${joda-time.version}</version>
        </dependency>

2,直接使用java.util.Date變數接收引數
@org.springframework.web.bind.annotation.InitBinder
	public void InitBinder(
			/* HttpServletRequest request, */ServletRequestDataBinder binder) {
		// 不要刪除下行註釋!!! 將來"yyyy-MM-dd"將配置到properties檔案中
		// SimpleDateFormat dateFormat = new
		// SimpleDateFormat(getText("date.format", request.getLocale()));
		System.out.println("執行了InitBinder方法");
		SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		dateFormat.setLenient(false);
		binder.registerCustomEditor(Date.class, null, new CustomDateEditor(dateFormat, true));
	}