Spring Mvc 返回机制

Spring Mvc 有如下的几种返回方式:

ModelAndView,

Model,

ModelMap,

Map,

View,

String,

void

例子在类开始之前加上了如下注解:

@Controller

@RequestMapping("/adController")

一:ModelAndView

@RequestMapping("/show")
	public ModelAndView show(){
		ModelAndView mav = new ModelAndView();
		mav.setViewName("/admin/show");
		mav.addObject("aaa", "11111");
		return mav;
	}

 请求路径:项目路径/adController/show.do

 返回视图:项目路径/admin/show.jsp

通过ModelAndView构造方法可以指定返回的页面名称,也可以通过setViewName()方法跳转到指定页面,使用addObject()设置需要返回的值。

在页面上可以通过El表达式${aaa}获取!

 

二:MAP

@RequestMapping("/show2")
	public Map<String,String> getMap(){
		System.out.println("show2");
		Map<String,String> map = new HashMap<String, String>();
		map.put("key1", "111");
		map.put("key2", "222");
		return map;
	}

 请求路径:项目路径/adController/show2.do

 返回视图:项目路径/adController/show2.jsp

URL = prefix前缀+视图名称+suffix后缀组成。

在前台页面也可以根据${key1}来获取相应的值。

 

三:String

@RequestMapping("/show3")
	public String getString(ModelMap model) {
		model.addAttribute("aaa", "1111");
		model.addAttribute("bbb","222");
	  return "center";  
	}

 请求路径:项目路径/adController/show3.do

返回路径:项目路径/center.jsp

URL = prefix前缀+/return的值+suffix组成

可以通过ModelMap构建返回的参数,该ModelMap不需要自己创建。

如果加上了@ResponseBody注解,则会直接将输出值返回输出到页面。

页面会直接显示 “center”

 

四:Void 

@RequestMapping("/show4")
	public void getVoid() {
	}

 请求路径:项目路径/adController/show3.do

 返回路径:对于请求路径  后缀为 .jsp

同样也可以构造ModelMap返回参数

 

小结:

1、使用String作为请求处理方法的返回类型是比较通用的方法,这样返回的逻辑视图名不会和请求的URL绑定,具有很大的灵活性,而模型数据也可以根据ModelMap构造控制。

2、使用Void,Map 返回对应的逻辑视图名称真实url为:prefix前缀+视图名称 +suffix后缀组成。 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值