@ModelAttribute和抽象类

@ModelAttribute和抽象类,第1张

@ModelAttribute和抽象类

您只需要确保下面的元素

<input type="hidden" value="${person.role}" name="person_type" />

将其命名属性更改为person

<input type="hidden" value="${person.role}" name="person" />

使其与控制器中的model属性匹配

public String editPersonPost (@PathVariable Integer personId,        @Valid @ModelAttribute ( "person") Person person,        BindingResult result)

这就是它的工作方式。

当接收到请求并且Spring需要创建model属性时,它将检查该属性是否已经存在。如果它不存在并且没有匹配名称的请求参数,它将使用参数类的默认构造函数创建一个新对象

如果存在并且匹配参数类型,它将继续绑定请求参数。如果不兼容或具有相同名称的请求参数,它将尝试找到能够将当前值转换为所需类型的转换器。

如果转换成功,它将请求参数绑定到结果,否则将引发异常

在您的情况下,person属性作为字符串发送。Spring将尝试将其转换为Person。在绑定之前,它将选择PersonConverter进行转换为适当的子类



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4895394.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存