SpringMVC 响应(上)

SpringMVC除了可以在 Controller方法上定义参数 :Request 、Response、Session 之外
还可以通过以下的方式 响应数据

 


 1.可以在参数的位置上传入  Map、Model、ModelMap  三种类型的任意一种
    往该参数中保存数据,都会被存放到 Request 域对象中,可以从页面获取

 

如下代码演示:

jsp:

Controller:

 

浏览器访问 jsp 页面,依次点击超链接之后的页面内容 :
从reqeust域中提取数据:入参是--map对象
从reqeust域中提取数据:入参是--Model对象
从reqeust域中提取数据:入参是--ModelMap对象

 

控制台输出:

class org.springframework.validation.support.BindingAwareModelMap
class org.springframework.validation.support.BindingAwareModelMap
class org.springframework.validation.support.BindingAwareModelMap

 

PS: 三种入参:Map、Model、ModelMap类型最终都是BindingAwareModelMap 在操作,相当于给BindingAwareModelMap的数据最后都被存放到了request 域对象中

 


2.SpringMVC支持将方法的返回值设置为 ModelAndView

当控制器处理完请求时,通常会将包含视图名称或视图对象以及一些模型属性的ModelAndView对象返回到              DispatcherServlet。因此,经常需要在控制器中构造ModelAndView对象,
ModelAndView类提供了几个重载的构造器和一些方便的方法:

1.通过ModelAndView构造方法 可以指定返回的页面名称,也可以通过setViewName(“页面名称”)设置返回页面

2.使用addObject(key,value) 设置需要返回的值,内部就是将值设置到一个ModelMap类的属性上,最后将指存放到Request域对象中

构造器和方法以类似的方式支持视图名称和视图对象。其他的请看源码

 

以下代码演示:

//响应返回值 使用 ModelAndView
@RequestMapping("/hanlder04")
public ModelAndView  hanlder04() {
  //创建ModelAndView对象,构造方法中传入jsp 页面名称,springMVC视图解析器会将字符串拼接得到最终的页面地址
  ModelAndView view = new ModelAndView("main");
  //保存数据 (数据最后都会存储到request域对象中)
  view.addObject("message", "返回值ModelAndView 响应数据");
  return view;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值