首页 > 编程语言 > 详细

关于Spring mvc中modelattribute无法制定别名的解决方案

时间:2015-01-22 02:14:00      阅读:380      评论:0      收藏:0      [点我收藏+]

原文链接:http://www.srhang.me/blog/2015/01/21/springm-mvc-model-attribute-alias/

?

最近由于项目需要,发现spring mvc在绑定参数时有这么一个缺陷。

??

Url: http://localhost:8080/api/test?user_name=testUser ?

Controller: ??

@Controller
@RequestMapping("/api")
public class ApiController extends BaseController {

    @RequestMapping(value = "/test", headers = "Accept=application/json")
    public void authUser(ModelMap modelMap, Account acc) {
        ResultPack.packOk(modelMap);
    }
}

public class Account{
    private static final long serialVersionUID = 750752375611621980L;

    private long id;
    private String userName;
    private String password;
    private AccountType type = AccountType.ADMIN;
    private long timeTag;
    private int status = 1;
    ...
    ...
}

?

user_name无法映射到acc的userName上。如果使用json的方式,可以使用JsonProperty注解来解决。否则,spring貌似没提供解决方案。 ?

于是追踪了一下spring mvc的源代码,发现可以通过重写ServletModelAttributeMethodProcessor来支持这个功能。 ?

github: ?https://github.com/superhj1987/spring-mvc-model-attribute-alias

关于Spring mvc中modelattribute无法制定别名的解决方案

原文:http://srhang.iteye.com/blog/2177976

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!