我有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"; }
假设我有另一个带有“status”变量的对象栏.如何传递该对象以便我可以在同一表单中提交输入?
喜欢 :
<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中的fIEldset,这不起作用,我试图把两个:对象放在表单中,这也不起作用.
我找到的唯一方法是构建一个包含这两个对象的其他对象,然后传递它.这很好用,但我不能创造那种对象,这是无稽之谈(即使它有效).
当然,这里的对象并不像Foo和bar那么简单,否则我会合并这两个.但那不是我能做的.
甚至可以传递两个这样的对象来在表单中使用吗?
谢谢.
解决方法 我认为你不需要使用两个:对象.只需使用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.
总结以上是内存溢出为你收集整理的如何使用百里香叶在表单中传递两个对象?全部内容,希望文章能够帮你解决如何使用百里香叶在表单中传递两个对象?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)