Java Spring MVC中将字符串日期从表单数据更改为日期的解决方案
我想将字符串日期从表单数据更改为java日期格式,因为我要将它传递给一个类,并在以后创建一个用于存储的类对象 这是我的密码 表单文件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> <
<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”
。谢谢,我更改了它。