2017-04-09 4 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スプリングブート

答えて

0

フォームをメソッドとして送信すると、「GET」(POSTではない)とフォームにdateという名前の入力フィールドが含まれている場合、このフォームを送信するとこのハンドラメソッドがヒットします。

+0

私は、のような日付ピッカー入力を含んでいます。この行は暗黙的にvalue = "date"を持っていますか? – Desmond

+0

関連する問題