【问题标题】:Spring Thymeleaf Html form + Crud OperationsSpring Thymeleaf Html 表单 + Crud 操作
【发布时间】:2021-11-23 07:51:11
【问题描述】:

我是 Spring Framework 的新手,目前正在尝试开发一个简单的应用程序,餐厅老板可以通过登录并将菜肴数据输入 Html 表单(使用 Thymeleaf)将菜肴添加到主数据库。 (菜名、价格、无麸质 = 真实等)

应用用户应该能够根据他们的位置和饮食要求等搜索主数据库。

我正在尝试通过 Youtube 教程学习,但是,它们似乎都使用 @RestController 和 @Requestbody 并使用 Postman 发送 JSON 请求。我很难将其适应我的 Html 表单。

我已经将@controller 注释用于简单的“保存”方法,但是当我研究“如何在添加到数据库的数据中包含外键”时(即在“菜”中包含“餐厅 ID”作为外键' 类),所有教程都在 Postman 中使用 @RequestController 和 JSON 请求。

当我试图构建一个可用的应用程序时,在 Postman 中发送请求似乎不是一个好的解决方案。

根据其他帖子,我认为我遇到的问题如下:

"If you use template engine like Thymeleaf it will not work with @RestController because of @ResponseBody which included in this annotation" – Sonique

"@ResponseBody makes the returned objects to something that could be in the body, e.g. JSON or XML"  – Martin Thoma

我尝试删除 @RequestBody 并将其更改为 @RequestParam,但出现错误。

我的问题有什么解决方法吗?例如。为“添加新菜”表单使用不同的文件格式还是不使用 Thymeleaf?

任何帮助/建议将不胜感激!

【问题讨论】:

  • 您可能正在寻找@ModelAttribute,它是@RequestBody 的等效形式编码(以JSON 或XML 形式发布)。
  • @chrylis-cautiouslyoptimistic- 谢谢!我现在明白其中的区别了!

标签: java html spring-data-jpa thymeleaf crud


【解决方案1】:

如果您想将 HTML 与 Thymeleaf 一起使用,并且该类应由 @Controller 注释,并且处理您要控制的 FORM 中的对象的方法参数应为 @ModelAttribute("")。

【讨论】:

  • 谢谢,现在有意义了!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-02-08
  • 2020-05-07
  • 2016-12-04
  • 1970-01-01
  • 2012-04-01
  • 2011-06-16
  • 1970-01-01
相关资源
最近更新 更多