2017-04-09 81 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