基本上,当我请求特定的URL进行瞄准时,我有一个表格,我有一个对象'瞄准'。虽然,在形式上我有另一个对象,我希望在一个标签中从数据库中填充。这个选择标记基本上从数据库中获取所有“害虫”并填充它们。我的控制器正在设置添加2个这样的属性,我不确定它是否是正确的方法,或者一个对象在提交时会覆盖另一个。
我的控制器方法:
@RequestMapping("/sighting")
public String makeSighting(Model model, Principal principal) {
List<Pest> pests = pestsService.getPests();
model.addAttribute("pests", pests);
model.addAttribute("sighting", new Sighting());
return "sighting";
}
如果你能帮助我,那就太好了。如果需要,我也会提供表格的代码。感谢
答案 0 :(得分:1)
这种方法没有错。但您可以为form
:
class SightingForm {
Sighting sighting;
List<Pest> pests;
...
}
这可用于填充form
:
@RequestMapping("/sighting")
public String makeSighting(Model model, Principal principal) {
List<Pest> pests = pestsService.getPests();
SightingForm sightingForm = new SightingForm();
sightingForm.setSighting(new Sighting());
sightingForm.setPests(pests);
model.addAttribute("sightingForm", sightingForm);
return "sighting";
}
并在您的JSP中,使用此单sightingForm
作为表单支持对象:
<form:form id="form" action="${submitUrl}" modelAttribute="sightingForm" method="POST">
<form:input path="property" id="propertyId" />
...
</form:form>