`

springmvc返回值类型

阅读更多
spring mvc处理方法支持如下的返回方式:ModelAndView, Model, ModelMap, Map,View, String, void
@Controller
@RequestMapping("/pages")//①处理器的通用映射前缀,如果在类上使用@ RequestMapping 注解一般是用于窄化功能处理方法的映射的
public class TestController {
		//方法级别窄化,//②相对于①处的映射进行窄化
	@RequestMapping(value="test", method=RequestMethod.POST)//请求URL到处理器功能处理方法的映射
	public  ModelAndView test(){
	         //1、收集参数
		//2、绑定参数到命令对象
		//3、调用业务对象
		//4、选择下一个页面
		ModelAndView mav = new ModelAndView();
		//设置逻辑视图名,也可以直接设置页面路径
		mav.setViewName("/pages/test.jsp");
		//添加模型数据 可以是任意的POJO对象
		mav.addObject("msg", "消息发送成功!");
		return mav;
		//ModelMap model = new ModelMap();
		//model.addAttribute("msg", "消息发送成功!");
		//return  new ModelAndView("("/pages/test.jsp",model);
	}
	
}

通过ModelAndView构造方法可以指定返回的页面名称,也可以通过setViewName()方法跳转到指定的页面 ,
使用addObject()设置需要返回的值,addObject()有几个不同参数的方法,可以默认和指定返回对象的名字。
调用addObject()方法将值设置到一个名为ModelMap的类属性,ModelMap是LinkedHashMap的子类

String 指定返回的视图页面名称,结合设置的返回地址路径加上页面名称后缀即可访问到。
注意:如果方法声明了注解@ResponseBody ,则会直接将返回值输出到页面。
@RequestMapping()
@ResponseBody 
public String helloWorld()  { 
return "Hello World"; 
} 

上面的结果会将文本"Hello World "直接写到http响应流。

@RequestMapping("/hello") 
public String world() { 
  return "test"; 
} 

对应的逻辑视图名为“test”,URL= prefix前缀+视图名称 +suffix后缀组成(需要配置视图解析)。

@RequestMapping("/test") 
public void hello() {}


void  如果返回值为空,则响应的视图页面对应为访问地址
此例对应的逻辑视图名为"test"。

1.使用 String 作为请求处理方法的返回值类型是比较通用的方法,这样返回的逻辑视图名不会和请求 URL 绑定,具有很大的灵活性,而模型数据又可以通过 ModelMap 控制。
2.使用void,map,Model 时,返回对应的逻辑视图名称真实url为:prefix前缀+视图名称 +suffix后缀组成。
3.使用String,ModelAndView返回视图名称可以不受请求的url绑定,ModelAndView可以设置返回的视图名称。


Model model,HttpServletRequest request, ModelMap map声明变量

request.getSession().setAttribute("test1", "hello1");
request.setAttribute("test2", "hello2");
map.addAttribute("test3", "hello3");
model.addAttribute("test4", "hello4");

我通过${test}这个方式取值,优先取Model和ModelMap的,Model和ModelMap是同一个东西,谁最后赋值的就取谁的,然后是request,最后是从session中获取
分享到:
评论

相关推荐

    SpringMVC 方法四种类型返回值总结(你用过几种)

    主要介绍了SpringMVC 方法四种类型返回值总结(你用过几种),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    SpringMVC Controller 返回值的可选类型详解

    本篇文章主要介绍了SpringMVC Controller 返回值的可选类型详解 ,spring mvc 支持如下的返回方式:ModelAndView, Model, ModelMap, Map,View, String, void,有兴趣的可以了解一下

    详解springmvc之json数据交互controller方法返回值为简单类型

    主要介绍了springmvc之json数据交互controller方法返回值为简单类型,非常具有实用价值,需要的朋友可以参考下

    SpringMVC学习笔记整合搭建框架

    a)SpringMVC默认支持的类型 b)简单数据类型 c)Pojo类型 d)Pojo包装类型 e)自定义参数绑定 6、SpringMVC和Struts2的区别 第二天 1、高级参数绑定 a)数组类型的参数绑定 b)List类型的绑定 2、@RequestMapping注解的...

    springmvc思维导图

    springmvc的概念、springmvc的运行原理(前端控制器、处理器映射器、处理器适配器、处理器、视图解析器)、同步请求的方式(ModelAndView、String、无返回值、默认的绑定值)、异步请求的注解、请求参数的封装(简单...

    SpringMVC处理模型数据-2.docx

    – ModelAndView: 处理方法返回值类型为 ModelAndView时, 方法体即可通过该对象添加模型数据 – Map及Model: 入参为org.springframework.ui.Model、org.springframework.ui.ModelMap 或 Java.uti.Map 时,处理...

    springMVC入门_Java系列教程

    Controller接收request, response参数,然后返回ModelAndView(其中的Model不是Object类型,而是Map类型)。但在其它的Web Framework中,Action返回值一般都只是一个View Name;Model则需要通过其它的途径(如...

    springMvc mybatis cxf maven 实现物理分页

    项目使用的是mybatis分页拦截器实现的分页,该链接是一个单表分页,如果想联表分页请将mapping中返回值类型改为map,同时进行联表查询, 谢谢大家 有疑问的地方可以留言或者发我邮箱sl166199@163.com

    SpringMVC-3 映射请求参数和请求头

    使用@RequestParam、@RequestHeader和@CookieValue注解分别映射请求参数、请求头和Cookie值信息到相应处理方法的入参中,并根据方法的返回值类型做出相应的后续处理。另外,SpringMVC也支持使用POJO对象绑定请求参数...

    brianway#springmvc-mybatis-learning#mybatis学习笔记(7)-输出映射1

    输出pojo对象list,方法返回值是List//根据用户名列查询用户列表生成的动态代理对象中是根据mapper方法的返回值类型确定是调用selectOne(返

    springMVC架构学习交流

    Controller接收request, response参数,然后返回ModelAndView(其中的Model不是Object类型,而是Map类型)。但在其它的Web Framework中,Action返回值一般都只是一个View Name;Model则需要通过其它的途径(如...

    dwr入门+springmvc实现

    利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据Java类来动态生成JavaScrip代码).它的最新版本DWR0.6添加许多特性如:支持Dom Trees的自动配置...

    java微信公众号MVC开发框架

    本例中方法的返回类型是String,代表响应的消息内容是文本消息,jwx提供了丰富的返回值类型,这部分内容会在使用参考部分详细说明。 5、启动web应用 上面就是这个最简单例子的全部内容,让我们启动web应用,进入到...

Global site tag (gtag.js) - Google Analytics