展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

参数绑定和自定义参数绑定

  • 参数绑定
  • 当前端页面提交表单,表单数据对应后端实体类,控制层处理请求时,会将表单数据与实体类对象属性自动绑定(即转为对象)
# 前端:
姓名: <input name="userName"/> <br/>
年龄: <input name="age"/> <br/>
# 实体类:
@Data
public class Person {
private String userName;
private Integer age;
}
# 控制层:
@PostMapping("/seveuser")
Public Person seveuser(Person person){
return person;
}
  • 自定义参数绑定
# 当前端页面是如下,将两个属性写在作为字符串一起提交,后端无法解析;那么我们可以自定义转换器进行解析
# 前端:
宠物:<input name="pet" value="阿猫,3"/>
# 实体类:
@Data
public class Pet {
private String name;
private Integer age;
}
# 配置类中:WebMvcConfigurer方法中可定制所有SpringMVC的功能;
# 这里我们重写addFormatters方法,用于添加格式(将前端发送的字符串中逗号前解析为name,逗号后解析为age)
@Bean
public WebMvcConfigurer webMvcConfigurer(){
return new WebMvcConfigurer() {
@Override
public void addFormatters(FormatterRegistry registry) {
registry.addConverter(new Converter<String, Pet>() { # 方法添加一个转换器,接收的参数为 新建一个转换器,<String, Pet>表示将字符串转为pet对象
@Override
public Pet convert(String source) { # source表示接收的String字符串
if(!StringUtils.isEmpty(source)){
Pet pet = new Pet();
String[] split = source.split(",");
pet.setName(split[0]);
pet.setAge(Integer.parseInt(split[1]));
return pet;
}
return null;
}
});
}
};
}
posted @   DogLeftover  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示