2013-02-08 37 views
35

我是新來的Spring MVC - 我想從我的javascript傳遞一個日期作爲申請帕拉姆傳遞日期要求PARAM在Spring MVC

我的控制器看起來像 -

public @ResponseBody List<RecordDisplay> getRecords(
      @RequestParam(value="userID") Long userID, 
      @RequestParam(value="fromDate") Date fromDate, 
      @RequestParam(value="toDate") Date toDate) { 

我的問題是我怎麼做的從JavaScript調用 - 在又該URL看起來像

for eg. - /getRecords?userID=1&fromDate=06022013&toDate=08022013' 

我需要一種方法來解析日期所以Spring可以識別它?

+0

你能分享你用來比較兩個日期的代碼嗎? – rachana

回答

62

使用@DateTimeFormat("MMddyyyy")

public @ResponseBody List<RecordDisplay> getRecords(
@RequestParam(value="userID") Long userID, 
@RequestParam(value="fromDate")  @DateTimeFormat(pattern="MMddyyyy") Date fromDate, 
@RequestParam(value="toDate")  @DateTimeFormat(pattern="MMddyyyy") Date toDate) { 
+0

是來自spring的@DateFormat嗎? – Sripaul

+0

是的,你可能只是google搜索出來並自己發現它.http://grepcode.com/file/repo1.maven.org/maven2/org.springframework/spring-context/3.0.6.RELEASE/org/ springframework/format/annotation/DateTimeFormat.java – Sudhakar

+2

我在春天找不到'@ Dateformat',但是我發現'@ DateTimeFormat'就像@dannrob說的那樣。 – Jim

20

這是現在@DateTimeFormat以及其支持的一些常見ISO格式

+2

是的!補充這個答案:它看起來好像這樣:@RequestParam(value =「onDate」)@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)LocalDate onDate, – imTachu

6

使用@DateTimeFormat(圖案= 「YYYY-MM-DD」)其中yyyy是年,MM是月和dd是日期

public @ResponseBody List<Student> loadStudents(@DateTimeFormat(pattern="yyyy-MM-dd") Date birthDay) { 
    ... 
} 
+0

@DateTimeFormat對我來說是有效的選項,但我不得不還特別將該模式屬性添加到註釋中 – TheIcemanCometh