我需要你的帮助。假设我的 JSP 中有 form:form,并且 form:form 内部是带有日期的 form:input .. 如下所示:
<form:form modelAttribute="personalTask" method="POST" action="${pageContext.request.contextPath}/taskmgr/add">
(...)
<div class="input-group">
<form:input path="startDate" type="date" id="startDateTimePicker" name="search_message[displayDateFrom]" placeholder="YYYY-MM-DD hh:mm:ss" class="input-sm form-control"></form:input>
<div class="input-group-addon">
<span class="glyphicon glyphicon-calendar"> </span>
</div>
</div>
(...)
</form:form>
在 Controller 中我有方法:
@RequestMapping(value = "/add", method = RequestMethod.POST)
public String addProfileTask(@ModelAttribute("personalTask")PersonalTask task, Principal principal){
return "taskManager";
}
个人任务看起来像:
public class PersonalTask{
(...)
@Column(name = "START_DATE", columnDefinition="TIMESTAMP", nullable = false)
private LocalDateTime startDate;
(...)
public LocalDateTime getStartDate() {
return startDate;
}
public void setStartDate(LocalDateTime startDate) {
this.startDate = startDate;
}
(...)
}
问题是...如何从 JSP 传递日期时间并与 @ModelAttribute("personalTask")PersonalTask 任务绑定(bind)?
最佳答案
使用Spring Converters ,spring已经有内置转换器@DateTimeFormat
对于 Date
和 Time
数据类型,从文档来看,它已经支持 java.time.LocalDateTime
Supports formatting by style pattern, ISO date time pattern, or custom format pattern string. Can be applied to java.util.Date, java.util.Calendar, java.lang.Long, Joda-Time value types; and as of Spring 4 and JDK 8, to JSR-310 java.time types too.
示例:
public class PersonalTask{
@DateTimeFormat(pattern="dd/MM/yyyy") // or any pattern you prefer
@Column(name = "START_DATE", columnDefinition="TIMESTAMP", nullable = false)
private LocalDateTime startDate;
}
关于java - 如何使用java8 api(LocalDateTime)将LocalDateTime从jsp传递到 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43902548/