springmvc中关于封装类型传输的问题

1.对于从前台往后台传值,例如long,int,double,date,用实体接收报错的解决办法

①如果穿数值型的,一律把字符串改成数值类型

Number(value),

②如果是日期date类型的,在后台进行转换

new Date(value);

③或者在后台进行处理

解决办法:使用@InitBinder注解

(1)需要自定义一个基础Controller,完成对日期转换的注册:

实现springMVC完成自动将前台的String类型向Date、Double类型转换,否则常报HTTP <wbr>ERROR:400

 

(2)让其他业务控制层的Controller继承这个BaseController就OK了。

实现springMVC完成自动将前台的String类型向Date、Double类型转换,否则常报HTTP <wbr>ERROR:400

 

这样就实现了自动转换复杂类型的数据了。

说明:还可@DateTimeFormat 注解方式实现,不过这种方式我没有尝试成功,按道理说应该也是可以的。

 

在用上面方法前一定要做如下操作

最进在开发关于SpringMVC框架的项目时,发现个数据绑定的问题,如果这个实体对象里的字段类型为long、int、double时,客户端就报400语法错误

 

源代码:

controller:

@RequestMapping("insertReleaseMapIconConfig")

@ResponseBody

public String insertReleaseMapIconConfig(ReleaseMapIconConfig releaseMapIconConfig ){

String result = "ok";

try{

releaseMapIconConfigService.insertMapIconConfig(releaseMapIconConfig);

}catch(Exception e){

e.printStackTrace();

result = "fail";

}

return result;

}

 

实体类:

public class ReleaseMapIconConfig{

private String id;

private long maxValue;

private long minValue'

private char unit;

private String icon;

以下setter和getter方法省略

}

解决方案:将long 、int、double、char改为Long、Integer、Double、Character包装类型即可

,即:

public class ReleaseMapIconConfig{

private String id;

private Long maxValue;

private Long minValue'

private Character unit;

private String icon;

以下setter和getter方法省略

}

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿的十万个为什么

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值