SpringMVC接收前台传送的日期(字符串)封装Date对象出错

1、接收参数是Date类型

接收参数前边加一个@DateTimeFormat(pattern = "yyyy-MM-dd")

@RequestMapping("/updateDate")
public String updateDate(@DateTimeFormat(pattern = "yyyy-MM-dd") Date newDate) {
    return "redirect:list.do";
}

2、接收参数是实体类

如果用实体类接收参数,则在Date属性上边加@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")

@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createtime;
<fmt:formatDate value="${item.createtime}" pattern="yyyy-MM-dd HH:mm:ss"/>

注意:前台传过来的字符串长度不可以小于当前 pattern 格式的长度,并且保证格式一致

### Spring MVC 参数绑定使用指南 在Spring MVC中,参数绑定机制允许开发者轻松地将HTTP请求中的各种输入映射到处理器方法的参数上。这种灵活性不仅简化了开发过程,还提高了代码的可读性和维护性。 #### 方法级注解支持的数据类型转换 当通过表单提交或URL传递简单类型的参数时,如`int`, `long`, 或者`String`等基本数据类型及其封装类,Spring会自动完成这些基础类型字符串对象之间的转换工作[^1]。 对于复杂对象而言,则可以通过命令对象(Command Object)的方式接收多个关联属性组成的实体实例作为入参,在此情况下只需保证前端页面控件名称与JavaBean字段名相匹配即可实现自动化装配操作[^3]。 ```java // 基础类型参数绑定示例 @RequestMapping("/example") public String exampleMethod(@RequestParam int age){ // 处理逻辑... } // 对象参数绑定示例 @RequestMapping("/userFormSubmit") public String submitUserForm(User userObject){ // User是一个具有name、email等属性的POJO类 } ``` #### 自定义编辑器注册 为了满足特定业务场景下的需求,还可以自定义PropertyEditor来增强默认行为之外的功能特性。比如日期格式化/反序列化等问题都可以借助此类工具得到妥善解决: ```java import org.springframework.beans.propertyeditors.CustomDateEditor; import java.text.SimpleDateFormat; @ControllerAdvice public class GlobalDataBinder { @InitBinder protected void initBinder(WebDataBinder binder) { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); CustomDateEditor editor = new CustomDateEditor(dateFormat, true); binder.registerCustomEditor(Date.class, editor); } } ``` 上述例子展示了如何创建全局范围内的数据绑定适配器以适应不同的应用场景,并确保整个应用程序内部保持一致性的处理方式[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值