2017-04-09 79 views
0
@Controller 
@RequestMapping(value="/reservations") 
public class ReservationController { 
    private static final DateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd"); 

    @Autowired 
    private ReservationService reservationService; 

    @RequestMapping(method = RequestMethod.GET) 
    public String getReservation(@RequestParam(value="date", required=false) String dateString, Model model){ 
     Date date = null; 
     if(dateString != null){ 
      try { 
       date = DATE_FORMAT.parse(dateString); 
      } catch (ParseException pe) { 
       date = new Date(); 
      } 
     }else{ 
      date = new Date(); 
     } 
     List<RoomReservation> roomReservationList = this.reservationService.getRoomReservationsForDate(date); 
     model.addAttribute("roomReservations", roomReservationList); 
     return "reservations"; 
    } 
} 

我知道@RequestParam註釋用於將查詢字符串的參數值綁定到控制器方法參數。例如,http://localhost:8080/reservations?date=2017-01-01。但是,value =「date」來自哪裏?我沒有看到我的HTML頁面中的任何值「日期」。@requestparam value = date spring boot

回答

0

如果您提交表單爲方法:「GET」(不是POST)並且表單包含名爲date的輸入字段,則提交此表單將會觸發此處理程序方法。

+0

我檢查了html表單,它包含一個datepicker輸入,如。此行是否隱含有值=「日期」? – Desmond

+0

只需在輸入標籤內添加name =「date」屬性即可 – 2017-04-10 04:52:19