如果表单输入没有明确使用它,如何设置Spring Form和Thymeleaf不更改作为模型属性添加的对象的字段?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果表单输入没有明确使用它,如何设置Spring Form和Thymeleaf不更改作为模型属性添加的对象的字段?相关的知识,希望对你有一定的参考价值。
如果我有DTO对象,则在控制器中添加为属性模型。比方说它有两个业务文件
public class Owner {
private Long id;
private String firstName;
private String secondName;
}
在某些弹簧形式中,我想仅使用所有者作为DTO更改名字,并且此表单根本没有输入第二个名称。而且我也不想出于隐私原因将第二个名称作为隐藏输入放在表单中,例如,所以我有唯一的输入来处理表单中的第一个名字?有没有办法将DTO放在具有第一个和第二个名称的模型中,并且@PostMapping控制器方法仍然在方法的@ModelAttribute参数对象中获得第一个和第二个名称?在这种情况下,我得到第二个名称null。
如果模型通过addAttribute(“owner”,owner)添加到模型属性,@ Controller标记的类上的@SessionAttribute(“owner”)注释以及在控制器方法参数中使用@ModelAttribute(“owner”)ownet是有帮助的决定。使用@SessionAttribute时,表单不会清除数据,并将所有字段设置为空值。
@ModelAttribute(“named_via_here”)的明确命名与@SessionAttribute(“named_via_here”)相同是必需的(没有它可以工作,但不能保证)
以上是关于如果表单输入没有明确使用它,如何设置Spring Form和Thymeleaf不更改作为模型属性添加的对象的字段?的主要内容,如果未能解决你的问题,请参考以下文章
如果表单字段包含空格,则Spring命令对象会抛出整数字段的NumberFormatException
如果用户没有输入任何输入,如何在 Android 中的 Edittext 上设置占位符并使用它?