如何在@requestParam中设置新的日期()?

时间:2018-04-18 16:49:54

标签: java spring spring-mvc

我想知道是否可以在@requestParam中设置新的日期()?

@RequestMapping("/resa")
public String reservation(Model model,@RequestParam(name = "page", defaultValue = ?????? )int p
) throws ParseException 

提前谢谢

2 个答案:

答案 0 :(得分:1)

Java中的注释仅限于编译时常量,因此您无法在那里实例化任何新对象。使用Spring的表达语言可能有一种方法,但我发现这很糟糕。

我想在Java 8之后,正确的方法是使用Optional<LocalDateTime>>类型的参数(日期是一个糟糕的旧API,不要使用它):

@RequestMapping("/resa")
public String reservation(Model model,
       @RequestParam("date") Optional<LocalDateTime>> optionalDate){

    LocalDateTime date = optionalDate.orElseGet(()-> LocalDateTime.now());
}

Spring文档明确提到that Optionals are supported as arguments

答案 1 :(得分:0)

你不能,但你可以让它不需要,然后检查它是否为空,然后给它分配新的日期()