`

springMVC 的几种返回方式

阅读更多
  1. package com.boventech.learning.controller;  
  2.   
  3. import java.util.HashMap;  
  4. import java.util.Map;  
  5.   
  6. import org.springframework.stereotype.Controller;  
  7. import org.springframework.ui.Model;  
  8. import org.springframework.web.bind.annotation.RequestMapping;  
  9. import org.springframework.web.bind.annotation.RequestMethod;  
  10. import org.springframework.web.bind.annotation.RequestParam;  
  11. import org.springframework.web.bind.annotation.ResponseBody;  
  12. import org.springframework.web.servlet.ModelAndView;  
  13.   
  14. import com.boventech.learning.entity.User;  
  15.   
  16. /** 
  17.  * MVCReturn 
  18.  * @author peng.xia 
  19.  * 
  20.  */  
  21. @Controller  
  22. @RequestMapping("/MVCReturn")  
  23. public class SpringMVCReturnController {  
  24.     //对于ModelAndView构造函数可以指定返回页面的名称,也可以通过setViewName方法来设置所需要跳转的页面;  
  25.     @RequestMapping(value="/index1",method=RequestMethod.GET)  
  26.     public ModelAndView index(){  
  27.         ModelAndView modelAndView = new ModelAndView("/user/index");  
  28.         modelAndView.addObject("name""xxx");  
  29.         return modelAndView;  
  30.     }  
  31.       
  32.     //返回的是一个包含模型和视图的ModelAndView对象;  
  33.     @RequestMapping(value="/index2",method=RequestMethod.GET)  
  34.     public ModelAndView index2(){  
  35.         ModelAndView modelAndView = new ModelAndView();  
  36.         modelAndView.addObject("name""xxx");  
  37.         modelAndView.setViewName("/user/index");  
  38.         return modelAndView;  
  39.     }  
  40.       
  41.       
  42.     /** 
  43.      * Model一个模型对象, 
  44.      * 主要包含spring封装好的model和modelMap,以及java.util.Map, 
  45.      * 当没有视图返回的时候视图名称将由requestToViewNameTranslator决定;  
  46.      * 响应的view应该也是该请求的view。等同于void返回。 
  47.      */  
  48.     @RequestMapping(value="/index3",method=RequestMethod.GET)  
  49.     public Map<String, String> index3(){  
  50.         Map<String, String> map = new HashMap<String, String>();  
  51.         map.put("1""1");  
  52.         //map.put相当于request.setAttribute方法  
  53.         return map;  
  54.     }  
  55.  
  56.       
  57.     //返回String,这里的string相当于 modelAndView.setViewName("/user/index");  
  58.     //通过model进行使用  
  59.     @RequestMapping(value="/index4",method = RequestMethod.GET)  
  60.     public String index(Model model) {  
  61.         String retVal = "user/index";  
  62.         User user = new User();  
  63.         user.setName("XXX");  
  64.         model.addAttribute("user", user);  
  65.         return retVal;  
  66.     }  
  67.       
  68.     //通过配合@ResponseBody来将内容或者对象作为HTTP响应正文返回(适合做即时校验);  
  69.     @RequestMapping(value = "/valid", method = RequestMethod.GET)  
  70.     @ResponseBody  
  71.     public String valid(@RequestParam(value = "userId", required = false) Integer userId,  
  72.             @RequestParam(value = "name") String name) {  
  73.         return String.valueOf(true);  
  74.     }  
  75.     //返回字符串表示一个视图名称,这个时候如果需要在渲染视图的过程中需要模型的话,就可以给处理器添加一个模型参数,然后在方法体往模型添加值就可以了,  
  76.       
  77.        
  78.     @RequestMapping(method=RequestMethod.GET)  
  79.     public void index5(){  
  80.         ModelAndView modelAndView = new ModelAndView();  
  81.         modelAndView.addObject("xxx""xxx");  
  82.     }  
  83.     //返回的结果页面还是:/type  
  84.     //这个时候我们一般是将返回结果写在了HttpServletResponse 中了,如果没写的话,  
  85.     //spring就会利用RequestToViewNameTranslator 来返回一个对应的视图名称。如果这个时候需要模型的话,处理方法和返回字符串的情况是相同的。  
  86.   
  87. }  
分享到:
评论

相关推荐

    springMVC接收和返回参数各种情况整合

    ### Spring MVC 接收参数的各种方式详解 #### 一、Spring MVC 前台向后台传递参数的不同形式 ...以上就是关于Spring MVC中接收前端参数的几种常见方式及其应用场景的详细介绍。希望对大家的工作有所帮助!

    SpringMVC返回图片的几种方式(小结)

    SpringMVC返回图片的几种方式小结 在SpringMVC中,返回图片的方式有多种,主要包括返回二进制图片、返回图片的HTTP地址、返回base64格式的图片、直接返回二进制的图片等。下面是对这些方式的详细介绍。 I. 返回二...

    springMVC几种页面跳转方式小结

    本篇文章主要介绍了springMVC 几种页面跳转方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

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

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

    SpringMVC 实例

    总之,SpringMVC 提供了一种强大的、灵活的方式来组织和管理 Web 应用的业务逻辑和展示层,通过其丰富的注解和组件,可以简化开发流程,提高代码的可读性和可维护性。在实际开发中,SpringMVC 结合 Spring Boot 可以...

    手写简易版SpringMVC,探索SpringMVC原理

    SpringMVC是Spring框架的一个模块,它主要...总结起来,手写SpringMVC不仅是一种理论知识的验证,也是提升实践技能的有效方式。通过这个过程,我们可以深入理解SpringMVC的内部机制,为日常开发工作打下坚实的基础。

    SpringMVC&&GraphQL

    在IT行业中,SpringMVC和GraphQL是两种不同的技术,它们分别在Web开发中扮演着重要的角色。SpringMVC是Spring框架的一部分,主要用于构建强大的、基于Java的企业级Web应用程序,而GraphQL是一种新的API查询语言,...

    SpringMVC教程及实现原理

    ### SpringMVC教程及其实现原理 #### 一、SpringMVC概述 SpringMVC是Spring框架...综上所述,SpringMVC作为一种轻量级的Web框架,不仅提供了强大的功能支持,还具有高度的灵活性和扩展性,非常适合构建现代Web应用。

    springmvc第一天课堂笔记.docx

    SpringMVC框架的核心原理主要包括以下几个关键组件: 1. **前端控制器 DispatcherServlet**:这是SpringMVC的第一个环节,负责接收客户端发送的HTTP请求,并将其转发给合适的处理器进行处理。DispatcherServlet本质...

    springMVC 注册登录源码

    SpringMVC是Spring框架的一部分,它提供了一种模型-视图-控制器(MVC)架构来构建Web应用程序。我们将主要关注以下几个核心知识点: 1. **SpringMVC 概述** SpringMVC是一个轻量级的Web开发框架,它简化了处理HTTP...

    SpringMVC中文教程

    - **几种依赖注入模式的对比总结** - **接口注入**:适用于需要多种实现的情况。 - **构造子注入**:适用于必须的依赖项,确保对象创建时即初始化。 - **设值注入**:适用于可选的依赖项,灵活性高但可能会导致...

    14-SpringMVC.pdf

    - **静态资源处理**:SpringMVC提供了一种简单的方式来映射静态资源的请求,通常在web.xml中配置DispatcherServlet的init-param属性,设置"dispatchOptionsRequest"为"true"。 通过上述内容的介绍,我们可以了解到...

    springmvc入门程序(下载后你不会后悔的)

    在SpringMVC中,注解提供了一种更加简洁的方式来处理请求和参数绑定。常见的注解包括: - `@RequestMapping`:用于映射请求路径。 - `@ModelAttribute`:用于将模型属性自动绑定到方法参数或返回值。 - `@...

    纯springMVC基础框架

    在“纯springMVC基础框架”中,我们通常会包括以下几个核心组件: 1. **DispatcherServlet**:作为SpringMVC的前端控制器,它是整个流程的入口。DispatcherServlet接收HTTP请求,根据请求信息找到合适的处理器,并...

    SpringMVC整合RedisDemo

    6. **项目结构**:SpringRedisDemo项目可能包含以下几个主要部分:src/main/java,存放Java源代码,包括SpringMVC的Controller、Service、DAO以及配置类;src/main/resources,存放配置文件,如SpringMVC的配置、...

    SpringMVC深入总结 核心流程图 中关村北大青鸟网上学堂 docx

    SpringMVC是一种轻量级、灵活且易于扩展的Web框架。它不仅支持传统的Servlet API,还支持JSP、Velocity、FreeMarker等多种视图技术,以及JSON、XML等数据格式。SpringMVC遵循了MVC架构模式,它将业务逻辑与用户界面...

    springmvc_day02

    Spring MVC 提供了几种内置的视图解析器,例如 InternalResourceViewResolver 和 BeanNameViewResolver。InternalResourceViewResolver 是最常用的视图解析器,它支持JSP和其他基于servlet的视图技术。配置...

    跟我学SpringMVC

    **SpringMVC**是一种基于Java的轻量级Web应用框架,是Spring框架的一部分,主要用于构建动态的Web应用程序。它采用MVC(Model-View-Controller)设计模式来分离业务逻辑与表现层。 - **Model(模型)**:负责存储...

    springMVC+Myibatis框架整合实例

    整合SpringMVC和MyBatis的过程主要包括以下几个步骤: 1. 引入依赖:在项目中添加SpringMVC和MyBatis的依赖库,通常是在pom.xml文件中添加对应的Maven依赖。 2. 配置Spring:创建Spring的配置文件(如...

    SpringMVC的Restful风格Demo

    在SpringMVC中实现RESTful风格,我们需要关注以下几个关键点: 1. **控制器(Controller)**:使用`@RestController`注解标记控制器类,表明该类中的方法将返回JSON或其他非视图数据,而不是视图名称。 2. **请求...

Global site tag (gtag.js) - Google Analytics