`
stworthy
  • 浏览: 522666 次
  • 来自: ...
社区版块
存档分类
最新评论

说说MVC中的模型绑定问题

阅读更多

以用户管理的控制器为例,创建用户有这个方法:

    public String create(User user) throws Exception{
        String s = "info:"+user.getId()+":"+user.getName()+":"+user.getPwd();
        System.out.println(s);
        //user.save();
        return s;
    }

方法的参数是User类型,其实例由框架自动创建完成,这比通过request.getParameter的代码强多了。

可以用@Bind注解说明绑定的前缀,如@Bind(prefix="user")User user。

 

控制器方法的参数类型可以是普通数据类型,也可以是是复杂的对象类型,框架将尝试为每个数据类型的成员进行赋值。

 

如果需要自定义数据绑定类型,可以实现DataBinder接口如

public class DateBinder implements DataBinder{
    public Object bind(BindingContext ctx) throws Exception{
        //...
        return null;
    }
}

然后注册进DataBinders:

DataBinders.register(java.util.Date.class, new DateBinder());
2
0
分享到:
评论
1 楼 LewJun 2012-10-09  
mark.

相关推荐

Global site tag (gtag.js) - Google Analytics