有@controller类,其中包含正确配置的@requestmapping(...)方法。
该方法将请求参数输入类型用户的pojo:
@RequestMapping("")
@ResponseBody
public User edit(User params){...}
用户本身具有POJO类型“ OrganisationMember”的字段:
public class User {
protected OrganisationMember organisationMemberExtension;
public OrganisationMember getOrganisationMemberExtension(){
return this.organisationMemberExtension;
}
public void setOrganisationMemberExtension(OrganisationMember organisationMemberExtension){
this.organisationMemberExtension = organisationMemberExtension;
}
}
当请求有参数时Oranisationmemberextension =“”,带有错误消息的弹簧失败:
字段中的字段错误在字段中“用户”'angorisationMememberextension':拒绝值[];代码[typemismatch.user.orbanisationmemberextension,typemismatch.ormanisationmberextension,typemismatch.cool.rs.rs.r.rs.data.model.model.org.org.org.organisationmember,typemismatch];参数[org.springframework.context.support.defaultMessagesOugerCeresOlvable:codes [user.organisationmberextension,OrganisationMememberextension];参数[];默认消息[OrganisationMembereXtension]];默认消息[无法将'java.lang.string'类型的属性值转换为必需的类型'cool.rs.mrp.data.model.model.org.org.org.org.organisationmember'for属性'ankyisationMberextension';无法将“ java.lang.string”类型的价值转换为必需的类型'cool.rs.mrp.data.model.org.org.org.org.org.orghisationmember'用于属性'ankyisationMememberextension':未找到匹配的编辑或转换策略Nullso,如何强制执行Spring甚至不尝试将空白字符串转换为某些对象类型,而是将相应的POJO属性设置为
?
如果通过某些内置转换器实现和配置选项(如果有)完成,将会很棒。使用@initbinder方法的@controller类和自定义编辑器:
@InitBinder
public void initBinder(WebDataBinder binder) {
binder.registerCustomEditor(OrganisationMember.class, new StringToOrganisationMemberConverter());
}
...也是可能的,但不太喜欢。
此外,是否有一些内置的实现在春季,能够为user.ormanisationmberextensions构建ankisation-ember bean,并用ormanisationmberextension.id= 0; OrganisationMembereXtension.name =“ Ojdljzd”; ...
请求参数?
首先,您无需发送object=""
。 Instead, you should send
object.field