【问题标题】:@requestparam value = date spring boot@requestparam 值 = 春季启动日期
【发布时间】:2017-04-09 10:20:54
【问题描述】:
@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 页面中看不到任何值“日期”。

【问题讨论】:

    标签: spring spring-boot


    【解决方案1】:

    如果您将表单作为方法提交:“GET”(不是 POST)并且表单包含一个名为 date 的输入字段,那么提交此表单将触发此处理程序方法。

    【讨论】:

    • 我检查了 html 表单,它包含一个日期选择器输入,如 .此行是否隐含 value="date"?
    • 只需添加 name="date"输入标签内的属性。仅此而已
    猜你喜欢
    • 2019-04-13
    • 2019-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-11
    • 2015-04-18
    • 2017-06-24
    • 2015-08-22
    相关资源
    最近更新 更多