gpt4 book ai didi

java - 2 model.setAttribute方法中的对象

转载 作者:行者123 更新时间:2023-12-01 14:02:59 26 4
gpt4 key购买 nike

基本上,我有一个表单,当请求特定 URL 进行目击时,我正在制作一个对象“目击”。虽然,在表单中我有另一个对象,我希望在标签中从数据库填充该对象。这个选择标签基本上从数据库中获取所有“害虫”并填充它们。我的 Controller 正在设置添加 2 个这样的属性,我不确定这是否是正确的方法,或者在提交时一个对象会覆盖另一个对象。

我的 Controller 方法:

@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";
}

如果你能帮助我那就太好了。如果需要,我也会提供表格的代码。谢谢

最佳答案

这种做法并没有什么问题。但是您可以为您的表单定义单个表单支持对象:

class SightingForm {
Sighting sighting;
List<Pest> pests;
...
}

这可以用来填充表单:

@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>

关于java - 2 model.setAttribute方法中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19195065/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com