当前位置: 首页 > 知识库问答 >
问题:

带日期的SpringMVC控制器

卢涵畅
2023-03-14

我一直在尝试使用:

@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

是工作。我能做些什么来和日期一起工作?

谢啦

共有3个答案

禄光霁
2023-03-14

本着Spring的精神,最好的选择应该是一个约定,以统一的方式处理Date参数。幸运的是,它正好给了你这个小饼干——把它放进application.properties...鲍勃是你叔叔:

spring.mvc.date格式

宇文温文
2023-03-14

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

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

希望这有帮助!

单于越
2023-03-14

尝试:

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

其中ISO。日期为yyyy-mm-dd模式

 类似资料:
  • 我有过 我通过这种方式传递profileJson: 但是我的配置文件Json对象具有所有空字段。我应该怎么做才能让Spring解析我的json?

  • 我通过composer安装了上述扩展,并遵循每个步骤的文档;在我的发言中: 运行视图时,我收到以下错误消息: {"name":"无效配置","mail":"没有找到类'\kartik\date\DatePicker',它是DateControl'date'格式所必需的。\n\n请确保您安装了'yii2-widget'或'yii2-widget-datepicker'扩展之一。要安装,您可以从您的应

  • 问题内容: 有人可以建议我如何将日期从这种格式转换为 控制器中的日期 吗? 仅供参考,我的日期将以这种方式存储,并且完全不填充绑定到带有字段的编辑表单时。 #Plunker演示在这里。 编辑Ctrl Edit.html-模板 问题答案: http://docs.angularjs.org/api/ng.filter:date 但是,如果您使用的是HTML5 type =“ date”,则必须使用I

  • 我在html页面中使用日期选择器,如下所示: HTML 日期选择控制器 主控制器 提交网页时,我会在主窗体控制器中检索日期,但格式与日期选择器弹出窗口中显示的格式不同。选择后显示的格式为“2014年3月26日”。但是,在我的控制器中,我得到:2014年3月26日星期四00:00:00 GMT 0000(GMT标准时间) 请问,如何在控制器中获得显示的日期格式,而不是“2014年3月26日星期四00

  • 定义 展示当前时间往后的任意天数内的日期。 图片展示 代码演示 import Picker from 'pile/dist/components/picker' const {DatePeriodPicker} = Picker <DatePeriodPicker textvalue="可控制天数(年、月、日)" pickerAway = {function(e,t){ console

  • 定义 可控制开始和结束日期的时间组件。 图片展示 代码演示 import Picker from 'pile/dist/components/picker' const {DateRangePicker} = Picker <DateRangePicker textvalue= {timeValue} pickerAway={this.pickerFun} startData='1