我需要你的帮助。假设我的JSP中有form:form,表单内部是form:input with date..,如下所示:
<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>
在控制器中,我有方法:
@RequestMapping(value = "/add", method = RequestMethod.POST)
public String addProfileTask(@ModelAttribute("personalTask")PersonalTask task, Principal principal){
return "taskManager";
}
PersonalTask看起来像:
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传递日期时间并与@ModelAtcm(“个人任务”)个人任务任务绑定??
可以使用格式化字符串创建新的LocalDateTime对象:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime dateTime = LocalDateTime.parse(dateInitializer, formatter);
使用从JSP表单中获取的日期实例化一个新的LocalDateTime对象,并将其传递给PersonTask对象
将日期输入中的字符串绑定到个性化任务中的字段并使用它来实例化LocalDateTime对象:
public class PersonalTask{
(...)
private String dateInitializer;
@Column(name = "START_DATE", columnDefinition="TIMESTAMP", nullable = false)
private LocalDateTime startDate;
public PersonalTask(){
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
startTime = LocalDateTime.parse(dateInitializer, formatter);
}
(...)
public LocalDateTime getStartDate() {
return startDate;
}
public void setStartDate(LocalDateTime startDate) {
this.startDate = startDate;
}
(...)
}
在JSP中:
<form:input path="dateInitializer" type="date" id="startDateTimePicker" name="search_message[displayDateFrom]" placeholder="YYYY-MM-DD hh:mm:ss" class="input-sm form-control"></form:input>
使用Spring转换器,Spring已经为日期
和Time
数据类型提供了内置转换器@DateTimeFormat
,从文档中可以看出,它已经支持:java.Time.LocalDateTime
支持按样式模式、ISO 日期时间模式或自定义格式模式字符串进行格式设置。可以应用于java.util.Date,java.util.Calendar,java.lang.Long,Joda-Time值类型;从Spring 4和JDK 8开始,到JSR-310 java.time类型也是如此。
例子:
public class PersonalTask{
@DateTimeFormat(pattern="dd/MM/yyyy") // or any pattern you prefer
@Column(name = "START_DATE", columnDefinition="TIMESTAMP", nullable = false)
private LocalDateTime startDate;
}
假设我在jsp中有这个表单 和Person类 编辑:控制器实现 我没有问题调用其他方法,但测试。
我正在尝试获取一个将列表从 JSP 传递到控制器的示例以工作: http://viral Patel . net/blogs/spring-MVC-multi-row-submit-Java-list/ 这个例子的问题是我没有让JSP/WEB content/we b-INF/JSP/add _ contact . JSP工作。他有一句台词: 我得到varstatus变量的错误。他从哪里得到这个变
我在这里遵循Spring MVC教程:http://www.tutorialspoint.com/spring/spring_mvc_form_handling_example.htm我也不明白数据是如何从JSP传递到控制器的。 我想我理解数据是如何从控制器传递到JSP的,但是在用户在JSP上编辑表单之后,数据是如何传递到控制器的呢? 在控制器中:公共字符串addStudent(@ModelAtt
这是我的FegnClient: 这是对外部endpoint的调用: 我得到以下例外: 我的SpringMvcConfig类中确实有一个LocalDateTime转换器
我使用Spring靴,并将与Maven一起包含: 当我尝试使用带有Java 8 Date/Time类型的RequestParam时, 并使用此URL对其进行测试: 我得到以下错误:
我正在尝试将包含object的ArrayList从servlet传递到JSP。但是 Servlet文件: JSP文件: