当前位置: 首页 > 面试题库 >

如何使用百里香叶传递两个对象以在表单中使用?

卫建义
2023-03-14
问题内容

我的问题如下:

我有2个不同的对象,必须从一个表单中填写。

对于1个对象,我只需在newFoo.html中执行:

<form th:object="${foo} th:action="@{/foo}" method="post">
    <input type="text" th:field="*{name}"/>
    <button type="submit">Go</button>
</form>

并在FooController中:

@RequestMapping(value = "/foo/new", method = RequestMethod.GET) 
public String newFoo(final Foo foo, Model model) { 
    return "newFoo"; 
}

@RequestMapping(value = "/foo/new", method = RequestMethod.POST) 
public String saveFoo(final Foo foo, final BindingResult bindingResult, Model model) { 
    fooService.save(foo); 
    return "redirect:/foo/new"; 
}

假设我有另一个对象栏,其中带有“状态”变量。我该如何传递该对象,以便可以在同一表格中提交输入?

喜欢:

<form th:object="${foo} && ${bar}" th:action="@{/foo}" method="post">
    <input type="text" th:field="*{name}"/>
    <input type="text" th:field="*{status}"/>
    <button type="submit">Go</button>
</form>

到目前为止,我试图对其中带有th:object的字段进行设置,这是行不通的,我试图将两个th:object放入形式,这也不起作用。

我发现的唯一方法是构建包含这两个对象的另一个对象,并将其传递。那很好,但是我不能创建这种对象,这是胡说八道(即使它可以工作)。

当然,这里的对象并不像Foo和Bar那样简单,否则我将合并这两个对象。但这不是我能做的。

甚至可以像这样传递两个对象以形式使用?

谢谢了


问题答案:

我认为您不需要使用两个th:objects。只需使用th:value

<form th:action="@{/foo}" method="post">
      <input type="text" th:value="${foo.name}" name="name"/>
      <input type="text" th:value="${bar.status}" name="status"/>
      <button type="submit">Go</button>
</form>

我认为Spring在控制器方面足够聪明,可以使用其映射技术将字段映射到适当的命令对象foo或bar。



 类似资料:
  • 我有一个,它传递给了一个Thymeleaf页面。我把这张地图放在页面上,我可以访问它。 如何使用thymeleaf执行?我只需要获取基于某个键的值,然后解析并打印该值,我知道该值并具有逻辑。 我正在运行一个Broadleaf应用程序,而Thymeleaf是它的UI引擎。

  • 我的问题是: 在FooController中: 假设我有一个带有“status”变量的另一个对象栏。如何传递该对象,以便在相同的表单中提交输入? 如: 已经谢谢了。

  • 我有一个用Thymeleaf-Spring构建的典型updateUser表单。我可以列出用户角色,但我正在尝试将其放入selectbox组件中。我正在处理这一行:selected=“${user.hasRole(role.role)}”。现在,我知道这个组件可以工作了,这只是访问布尔函数来启用它的问题。我试图使用select th:对象引用form对象的函数。我的语法不起作用。我还尝试访问该函数,

  • 您好,我是spring新手,我正试图用thymeleaf显示一个简单的html文件,但在呈现视图时遇到了问题。它只显示字符串“index”,而不显示index中的html内容。html。有人能告诉我我做错了什么吗 调度员servle。xml文件: TestController.java: 指数html文件:在webapp/templates/index中定义。html

  • 我不明白,如果html模板与我在ModelAndView中获得的属性链接,如何将RESTFull服务的@Controller更改为@RestController 在胸腺叶模板中 但我想进入索引页面,在后台获取用户名 我可以使用ajax来更新标记“p”,但这样使用thymeleaf并没有什么好处,我可以使用jsp。那么,在Rest时使用thymeleaf的最佳方式是什么?它是否合理?

  • 每次访问无效的endpoint或在spring Boot应用程序中的de code内部发生一些托管错误时,我都会在浏览器中收到此错误消息: 这意味着我的Spring Boot正在覆盖它的白色标签错误信息,并尝试用百里香错误模板页面向我显示错误。 我在网上找到了许多关于如何使用这个方案的教程,但没有找到任何向我展示如何不使用Thymeleaf来管理我的错误响应的教程。 我想在我的REST服务器中使用