@RequestMapping(value = "/getSettlements", method = RequestMethod.GET, headers = "Accept=application/json")
public @ResponseBody
Collection<Settlement> getSettlements
(@RequestParam(value = "startDate") String startDate,
@RequestParam(value = "endDate") String endDate,
@RequestParam(value = "merchantIds", defaultValue = "null") String merchantIds)
如何在defaultValue中提供今天的日期?它只需要不变。
答案 0 :(得分:10)
@InitBinder
public void initBinder(WebDataBinder binder) throws Exception {
final DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
final CustomDateEditor dateEditor = new CustomDateEditor(df, true) {
@Override
public void setAsText(String text) throws IllegalArgumentException {
if ("today".equals(text)) {
setValue(new Date());
} else {
super.setAsText(text);
}
}
};
binder.registerCustomEditor(Date.class, dateEditor);
}
@RequestParam(required = false, defaultValue = "today") Date startDate
答案 1 :(得分:1)
我几乎尝试了所有选项,甚至使用拦截器。但是到目前为止,最简单的解决方案是使用SpEL。例如:defaultValue =“#{new java.util.Date()}”
答案 2 :(得分:0)
由于您收到一个字符串,您可以使用任何日期格式,然后使用formatting提取日期