Spring 将对象从视图发送到控制器
Spring sending object from view to a controller
如何将对象从视图发送到控制器?
我首先使用 Controller 1 在使用 Thymeleaf 的 View 1 上显示此对象,该对象是 ${object}
。然后我想做的是单击一个按钮并将该对象发送回控制器 2,以便我可以将同一对象从视图 1 显示到视图 2。你是怎么做到的,你能举个例子吗?
现在我可以使用 URL 中对象的 ID,然后在控制器 2 中请求参数,然后根据 ID 获取对象。但是我不想在URL中看到对象ID,还有什么方法?
如果您不想在 URL 中使用 id,那么您可以创建一个带有隐藏字段的表单并将其提交给您的控制器。
<form th:object="${formData}" method="post">
<input type="hidden" th:field="*{id}">
<button type="submit">
</form>
控制器是这样的:
@Controller
public class MyController {
@GetMapping
public String showPage(Model model) {
model.addAttribute("formData", new MyFormData("someId"));
return "myTemplate";
}
@PostMapping
public String handleId(@ModelAttribute("formData") MyFormData formData) {
String id = formData.getId();
// do something with id here
}
}
但你似乎对这个要求有点难。您不想在 URL?
中显示 ID 的任何特定原因
如何将对象从视图发送到控制器?
我首先使用 Controller 1 在使用 Thymeleaf 的 View 1 上显示此对象,该对象是 ${object}
。然后我想做的是单击一个按钮并将该对象发送回控制器 2,以便我可以将同一对象从视图 1 显示到视图 2。你是怎么做到的,你能举个例子吗?
现在我可以使用 URL 中对象的 ID,然后在控制器 2 中请求参数,然后根据 ID 获取对象。但是我不想在URL中看到对象ID,还有什么方法?
如果您不想在 URL 中使用 id,那么您可以创建一个带有隐藏字段的表单并将其提交给您的控制器。
<form th:object="${formData}" method="post">
<input type="hidden" th:field="*{id}">
<button type="submit">
</form>
控制器是这样的:
@Controller
public class MyController {
@GetMapping
public String showPage(Model model) {
model.addAttribute("formData", new MyFormData("someId"));
return "myTemplate";
}
@PostMapping
public String handleId(@ModelAttribute("formData") MyFormData formData) {
String id = formData.getId();
// do something with id here
}
}
但你似乎对这个要求有点难。您不想在 URL?
中显示 ID 的任何特定原因