Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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_Eclipse_Spring Mvc - Fatal编程技术网

Java Spring MVC中将字符串日期从表单数据更改为日期的解决方案

Java Spring MVC中将字符串日期从表单数据更改为日期的解决方案,java,spring,eclipse,spring-mvc,Java,Spring,Eclipse,Spring Mvc,我想将字符串日期从表单数据更改为java日期格式,因为我要将它传递给一个类,并在以后创建一个用于存储的类对象 这是我的密码 表单文件 <hr> <label for="firstname"><b>First Name</b></label> <input type="text" placeholder="Enter First Name" name="FirstName" required> <

我想将字符串日期从表单数据更改为java日期格式,因为我要将它传递给一个类,并在以后创建一个用于存储的类对象

这是我的密码

表单文件

<hr>
    <label for="firstname"><b>First Name</b></label>
    <input type="text" placeholder="Enter First Name" name="FirstName" required>

    <label for="middlename"><b>Middle Name</b></label>
    <input type="text" placeholder="Enter Middle Name" name="MiddleName" required>

    <label for="lastname"><b>Last Name</b></label>
    <input type="text" placeholder="Enter Last Name" name="LastName" required>

    <label for="email"><b>Email</b></label>
    <input type="text" placeholder="Enter Email" name="Email" required>

    <label for="dob"><b>Enter Date of birth</b></label><br/>
    <input type="date" name="DOB" required><br/><br/>
<%
        Employee obj = new Employee();
        obj.setFirstName(request.getParameter("FirstName"));
        obj.setMiddleName(request.getParameter("MiddleName"));
        obj.setLastName(request.getParameter("LastName"));
        //obj.setDob((String)request.getParameter("dob"));
        //**I wanna set the date here......**
        obj.setFirstName(request.getParameter("FirstName"));    
     %>

名字 中名 姓 电子邮件 输入出生日期


jsp重定向文件

<hr>
    <label for="firstname"><b>First Name</b></label>
    <input type="text" placeholder="Enter First Name" name="FirstName" required>

    <label for="middlename"><b>Middle Name</b></label>
    <input type="text" placeholder="Enter Middle Name" name="MiddleName" required>

    <label for="lastname"><b>Last Name</b></label>
    <input type="text" placeholder="Enter Last Name" name="LastName" required>

    <label for="email"><b>Email</b></label>
    <input type="text" placeholder="Enter Email" name="Email" required>

    <label for="dob"><b>Enter Date of birth</b></label><br/>
    <input type="date" name="DOB" required><br/><br/>
<%
        Employee obj = new Employee();
        obj.setFirstName(request.getParameter("FirstName"));
        obj.setMiddleName(request.getParameter("MiddleName"));
        obj.setLastName(request.getParameter("LastName"));
        //obj.setDob((String)request.getParameter("dob"));
        //**I wanna set the date here......**
        obj.setFirstName(request.getParameter("FirstName"));    
     %>

我怎样才能解决这个问题呢。我目前正在构建一个Spring MVC web应用程序

任何建议或帮助都将不胜感激。
同样谢谢你。

我认为最简单的方法就是最好的,试试:

Date date1 = new SimpleDateFormat("dd/MM/yyyy").parse((String)request.getParameter("dob")); 

您应该考虑使用java的更新<代码> LoalDeals/Cuth>及其<代码>解析> /Cuff>方法。使用它在中有很好的描述

如果您确实需要一个
日期
,您可以从生成的
LocalDate
中获得它:

Date date = Date.from(localDate.toInstant());

通用的解决方案是使用Spring内置注释
@InitBinder
,这样完整控制器中的所有日期都将自动转换为所需格式。您不必手动逐个字段解析

@InitBinder
public final void initBinder(final WebDataBinder binder, final Locale locale) {
    final SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy", locale);
    binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));    
}
请参阅此线程以获得有关InitBinder的更清晰信息


首先,参数名为
“DOB”
而不是
“DOB”
。谢谢,我更改了它。