我已经使用Intellij中的Spring Web应用程序创建了一个包含大量字符串的基本输入窗体。当仅使用字符串时,表单成功保存到后端,因此我决定在模型中添加一个日期字段,并尝试修改到controller/jsp以在输入表单中接受此内容(并显示在记录列表中)。我遇到输入表单无法获得价值的问题。JSP窗体日期输入字段
实体:
@Temporal(TemporalType.DATE)
@DateTimeFormat(pattern="dd.MM.yyyy")
private Date dueDate;
public Date getDueDate() {
return dueDate;
}
public void setDueDate(Date dueDate) {
this.dueDate = dueDate;
}
JSP(我假设值应为空在这里,因为我有一个空场开始填写):
<div class="control-group">
<form:label cssClass="control-label" path="dueDate">Due Date:</form:label>
<div class="controls">
<input type="text" path="dueDate" class= "date" name = "dueDate" value = "<fmt:formatDate value="" pattern="MM-dd-yyyy" />"/>
</div>
</div>
控制器:
@RequestMapping(value = "/todos/add", method = RequestMethod.POST)
public String addUser(@ModelAttribute("todo") Todo todo, BindingResult result) {
System.err.println("Title:"+todo.getTitle());
System.err.println("Due Date:"+todo.getDueDate());
todoRepository.save(todo);
return "redirect:/todos/";
}
我的调试显示截止日期:空,所以没有发送我的日期字段从表格发布时。这意味着日期字段从不保存,然后资源库保存发生。
我不确定为什么截止日期可能为空,但输入元素的值属性具有需要更改的引号t o单引号或逃脱。 – anirudh