0

我有一个简单的 POJO:

@Document(collection = "questions")
public class Question {

    private String title;

    private Date createdAt;
    //..... all the getter and setters
}

我没有在编辑表单上添加 createdAt,因为它不应该在创建后更改。但是由于绑定,更新控制器方法将在 createdAt 中获得空值。

@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 字段的情况下创建另一个类并进行更新。

4

1 回答 1

0

您可以在表单中添加一个隐藏字段,预先填充 createdAt。

于 2013-04-16T08:25:52.060 回答