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

使用Spring MVC、JSR 303 Annotation将表单绑定到bean时出现异常

钮长恨
2023-03-14

我有如下的spring表单:jsp中的input标记接受一个日期。

<form:input type="text" id="fromDate" path="fromDate" />

我有一个相应的Javabean来将用户输入的date绑定到bean的fromDate属性。

@NotNull
@Past
@DateTimeFormat(pattern = "MM/dd/yyyy")
private Date fromDate;

当用户以“MM/dd/yyyy”格式输入日期时,我没有收到任何异常,并且该值被正确设置为bean变量

然而,当用户以不同格式(例如:23/12/2012)输入日期或无效日期(例如:060412009324092014)时,我得到以下异常。

无法将java.lang.String类型的属性值转换为所需的java.util类型。属性的日期fromDate;嵌套异常是org.springframework.core.covert。ConversionFailedException:无法从类型java.lang.String转换为类型@javax.validation.constranits。NotNull@javax.validation.constraints。过去@org.springframework.format.annotation。日期时间格式java.util。价值日期060412009324092014;嵌套异常为java.lang.IllegalArgumentException:无法分析060412009324092014

请帮助在页面上显示有效消息而不是异常

谢谢迈克

共有1个答案

韶云瀚
2023-03-14

我能够通过拥有以下属性来解决此问题。

类型不匹配 .bean.从日期 = 无效的开始日期!

谢谢马克。

 类似资料:
  • 本文向大家介绍SpringMVC实现数据绑定及表单标签,包括了SpringMVC实现数据绑定及表单标签的使用技巧和注意事项,需要的朋友参考一下 首先理解数据绑定 为什么要使用数据绑定 基于HTTP特性,所有的用户输入的请求参数类型都是String,比如下面表单: 但我们提交后,为了将请求信息映射到模型中,还需要手动进行格式转换,此外还借助了一个中转对象productForm,其字段名称和Produ

  • 我试图使用标签库绑定 POJO。绑定引用类 bean 变量后,我收到“错误请求错误 - http 状态 400”。 如果我删除引用类的绑定,则我的表单将成功提交,并且值也会填充在类中。 和 JSP: 我从几篇文章中获得了引用,但是当我在提交JSP之前添加行时,他们正在获取请求加载引用bean列表。

  • 我有一个web表单,可以更新appliaction.properties,这样用户就不必转到文件并编辑它。我想从application.properties文件中加载值并显示在web表单TextField中。在用户编辑一些更改后,用户可以更新application.properties文件。 问题-如何将web表单绑定到application.properties文件,而不是在Spring中使用@

  • 我正在开发一个简单的应用程序来演示Apache Karaf的使用。我在eclipse.Now开发了一个简单的基于maven的动态Web项目,我想在apache中部署它karaf.Following代码- POM中的家属。可扩展标记语言 MANIFEST.MF 自定义清单文件的给定路径 现在每当我试图在karaf中安装应用程序时,使用- 我得到错误作为- 执行命令时出错:安装软件包时出错:无法安装软

  • 我可以使用以下代码轻松地将数据绑定到div或pre标记: 但是,我想尝试将此数据绑定到隐藏表单输入,我尝试了: 这将返回以下错误: 所以很明显,在使用ng模型时,我不能使用| json。角度文档仍然有点稀疏,我似乎无法找到如何正确分配它,即使我可以?谢谢:) 我需要将这个json数据加载到我的金字塔应用程序中,并将其分配到一个隐藏的表单字段中,这似乎是最好的方法,或者我应该以另一种方式来做?

  • 我已经编写了一个简单的 RMI 应用程序,但我无法将远程对象绑定到 RMI 注册表。RMI 注册表从单独的 cmd 窗口 [我在 Windows 10] 运行。远程界面非常简单: 实现也很简单: 下面是服务器,其中包含 main 方法: 当我[从Eclipse内部]运行它时,我得到 我真的不知道这是从哪里来的。我甚至还没有调用客户端...