springmvc学习(三)

我们知道,,很多时候我们在业务方法可能会有返回数据,常常是一些对象,那么我们怎么把模型数据输出到我们需要它显示的页面上呢?通常 我们都把模型数据放在域对象里,一般都是在request域里面。那么在这里springmvc提供了几种途径来输出模型数据:

1.ModelAndView:简单理解来说,它只作为返回值,包括视图信息+模型数据。springmvc会把modelandview的model中的数据放入到request域对象中。


2.Map及Model:作为参数或返回值。


3.@sessionAttributes:我们把所要返回的信息暂存到HttpSession中


4.@ModelAttributes:


那么我们首先来看看ModelAndView:


modelAndView有



在index.jsp中写一个超链接

<a href="testModelAndView">TestModelAndView</a>


在控制器中写这样的一个方法:

@RequestMapping("/testModelAndView")
public ModelAndView testModelAndVIew(){
ModelAndView mav=new ModelAndView("success");
mav.addObject("name", "name:hxl");
System.out.println(mav);
return mav;

}

那我们现在来看看结果:





这里我们选择的ModelAndView的其中一种method,其实它还有很多方法,可以查阅资料,这里我只展示常用的三种:


除此之外,我们还需要注意的一点是ModelAndView有七个构造方法,在构建ModelAndView对象的时候,我们可以根据返回值的类型来做合适的选择,下面分析一下


1.无参构造参数ModelAndView()当你只有一个模型属性要返回时,可采用这种构造器,然后在相应的视图中可以使用el表达式读出模型数据。


 public ModelAndView login(){

ModelAndView mav=new ModelAndView();

mav.setViewName("success");//返回的文件名,即返回jsp的名字

mav.addObject("time",new Date);

 }


2.ModelAndView(String viewName):不用modelandview的setViewName方法而是直接在形参中

3.ModelAndView(String viewName, Map model) 


4.ModelAndView(String viewName,String modelName,object modelObject)

这一种构造方法直接把返回的文件名写在方法的形参中,比前俩种都更加简洁

 public ModelAndView login(){

ModelAndView mav=new ModelAndView("success","time",new Date());

        return mav;

 }



5.ModelAndView(Object view):这种一般都是没有模型数据暴露时,方便的构造函数


6.ModelAndView(Object view, Map model) 给出一个view对戏和一个模型,创建一个新的modelandview


7.ModelAndView(Object view, String modelName, Object modelObject) 方便的构造函数来取一个模型对象



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值