Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 带日期的Spring MVC控制器_Java_Spring_Spring Mvc - Fatal编程技术网

Java 带日期的Spring MVC控制器

Java 带日期的Spring MVC控制器,java,spring,spring-mvc,Java,Spring,Spring Mvc,我一直在尝试使用: @RequestMapping(value="/consultaporusuarioperiodo/{idusuario}/{datainicio}/{datafim}", method = RequestMethod.GET) public String consultaPorPeriodoUsuario( @PathVariable("idusuario") Long idUsuario, @PathVariable("datainicio

我一直在尝试使用:

@RequestMapping(value="/consultaporusuarioperiodo/{idusuario}/{datainicio}/{datafim}", method = RequestMethod.GET)
public String consultaPorPeriodoUsuario(
        @PathVariable("idusuario") Long idUsuario,
        @PathVariable("datainicio") Date dataInicio,
        @PathVariable("datafim") Date dataFim
        ,Model model) {
    Usuario usuario = usuarioService.buscaPorId(idUsuario);
    model.addAttribute("timesheet",timeSheetService.buscaPorPeriodoPorUsuario(dataInicio, dataFim,usuario));
    return "timesheetcrud/consultatimesheet";
}
通过此链接:

http://localhost:8080/timesheet/consultaporusuarioperiodo/1/21012000/22012000
但我得到了这个错误:

HTTP Status 400 -

type Status report

message

description The request sent by the client was syntactically incorrect ().

Apache Tomcat/7.0.27
当我改为:

        @PathVariable("datainicio") String dataInicio,
        @PathVariable("datafim") String dataFim
这是工作。我能做些什么来处理Date

谢谢

试试:

    @PathVariable("datainicio") @DateTimeFormat(iso=ISO.DATE) String dataInicio,
    @PathVariable("datafim") @DateTimeFormat(iso=ISO.DATE) String dataFim

其中
ISO.DATE
yyyy-mm-dd
模式。

我不得不做一些非常类似的事情。这就是我所做的:

@PathVariable("datainicio") @DateTimeFormat(pattern = "ddMMyyyy") Date dataInicio

希望这有帮助

本着Spring的精神,最好的选择应该是采用一种统一的方式来处理日期参数。幸运的是,它给了你这个小cookie-把它放到application.properties和。。。鲍勃是你叔叔:

spring.mvc.date格式=ddMMyyyy


尝试使用
@DateTimeFormat(pattern=“ddMMyyyy”)
注释日期参数。我已经尝试过使用@DateTimeFormat,但是当我将@PathVariable(“datainicio”)@DateTimeFormat(pattern=“ddMMyyyy”)date datainicio放入时,它也不起作用:-(仅适用于字符串。提示:尝试使用最佳实践,并在请求正文或查询参数中传递这两个日期值。=)将答案标记为正确,以帮助社区:)还有它的副本