ModelAndView解析

ModelAndView


  • Model 是指数据模型
  • View是指UI视图
  • Control是指控制流

为什么要用MVC, 目前凡是涉及到UI有界面的程序,最好采用MVC模式来设计。
View: 我们要专门有一个模块,还存放所有的UI组件库, 按钮,图片,文本框,列表,菜单等等,这些东西都是死的,没有内容。 比方说文本框,你从组库中把文本框拿出来,默认里面没有任何文字。

Model: 我们的数据模型,如果是面向对象的程序,那就是一个个的数据类。如学生,老师,汽车,职员等等。他们也可以理解成数据结构。我们必须有一个专门的模块来存放这些结构。 结构也是死的,如果没有把他拿出来用,他就永远躺上该模块中。

Control: 控制者, 可以理解成一段代码, 它会根据当前的程序状态机,将合适的数据模型中的数据填充到UI视图中。也可以反过来通过监听UI组件的变化,将一部分变化写回数据模型中。


ModelAndView类别就如其名称所示,是代表了MVC Web程序中Model与View的对象,不过它只是方便您一次返回这两个对象的holder,Model与View两者仍是分离的概念。


构造

ModelAndView(String viewName)

最简单的ModelAndView,持有View的名称返回,之后View名称被view resolver的实例解析

ModelAndView(String viewName, Map model)

如果要返回Model对象,则使用Map来收集这些Model对象,然后设定给Model

ModelAndView(String viewName, String modelName, Object modelObject)

如果只是返回一个Model对象则无需使用Map,直接使用上述构造,藉由modelName,你可以在视图中取出Model并显示

ModelAndView()

这个构造方法构造出来的ModelAndView不能直接使用,因为他没有指定view,也没有绑定对应的midel对象。当然model对象不是必须的,但是view却是必须的。用这个构造方法构造的实例主要用来在以后往其中添加view设置和model对象。

实例设置view

setViewName(String viewName)
setView(View view)

前者使用viewname,后者使用预先构造好的View对象。

实例添加Model

addObject(Objext modelObject)
addObject(String modelName, Object modelObject)
addAllObjects(Map modelMap)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值