我有一个简单的POJO:
@Document(collection = "questions")
public class Question {
private String title;
private Date createdAt;
//..... all the getter and setters
}
我没有在编辑表单上添加createdAt,因为创建后不应该更改它。但是由于绑定,更新控制器方法将在createdAt中获得null值。
@RequestMapping(method = RequestMethod.PUT, produces = "text/html")
public String update(@Valid Question question, BindingResult bindingResult,
Model uiModel, HttpServletRequest httpServletRequest) {
if (bindingResult.hasErrors()) {
populateEditForm(uiModel, question);
return "questions/update";
}
uiModel.asMap().clear();
questionRepository.save(question);
return "redirect:/questions/"
+ encodeUrlPathSegment(question.getId().toString(),
httpServletRequest);
}
因此,在更新问题后,createdAt字段将被清除。知道怎么解决吗?我不想在没有createdAt字段的情况下创建另一个类并进行更新。
答案 0 :(得分:0)
您可以在表单中添加隐藏字段,预先填充createdAt。