`

spring 的几种返回 方式

阅读更多
package com.boventech.learning.controller; 
 
import java.util.HashMap; 
import java.util.Map; 
 
import org.springframework.stereotype.Controller; 
import org.springframework.ui.Model; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod; 
import org.springframework.web.bind.annotation.RequestParam; 
import org.springframework.web.bind.annotation.ResponseBody; 
import org.springframework.web.servlet.ModelAndView; 
 
import com.boventech.learning.entity.User; 
 
/**
* MVCReturn
* @author peng.xia
*
*/ 
@Controller 
@RequestMapping("/MVCReturn") 
public class SpringMVCReturnController { 
     
    @RequestMapping(value="/index1",method=RequestMethod.GET) 
    public ModelAndView index(){ 
        ModelAndView modelAndView = new ModelAndView("/user/index"); 
        modelAndView.addObject("name", "xxx"); 
        return modelAndView; 
    } 
    //对于ModelAndView构造函数可以指定返回页面的名称,也可以通过setViewName方法来设置所需要跳转的页面; 
     
    @RequestMapping(value="/index2",method=RequestMethod.GET) 
    public ModelAndView index2(){ 
        ModelAndView modelAndView = new ModelAndView(); 
        modelAndView.addObject("name", "xxx"); 
        modelAndView.setViewName("/user/index"); 
        return modelAndView; 
    } 
    //返回的是一个包含模型和视图的ModelAndView对象; 
     
    /**
     * Model一个模型对象,
     * 主要包含spring封装好的model和modelMap,以及java.util.Map,
     * 当没有视图返回的时候视图名称将由requestToViewNameTranslator决定; 
     * @return
     */ 
    @RequestMapping(value="/index3",method=RequestMethod.GET) 
    public Map<String, String> index3(){ 
        Map<String, String> map = new HashMap<String, String>(); 
        map.put("1", "1"); 
        //map.put相当于request.setAttribute方法 
        return map; 
    } 
    //响应的view应该也是该请求的view。等同于void返回。 
     
    //返回String 
    //通过model进行使用 
    @RequestMapping(value="/index4",method = RequestMethod.GET) 
    public String index(Model model) { 
        String retVal = "user/index"; 
        User user = new User(); 
        user.setName("XXX"); 
        model.addAttribute("user", user); 
        return retVal; 
    } 
     
    //通过配合@ResponseBody来将内容或者对象作为HTTP响应正文返回(适合做即时校验); 
    @RequestMapping(value = "/valid", method = RequestMethod.GET) 
    @ResponseBody 
    public String valid(@RequestParam(value = "userId", required = false) Integer userId, 
            @RequestParam(value = "name") String name) { 
        return String.valueOf(true); 
    } 
    //返回字符串表示一个视图名称,这个时候如果需要在渲染视图的过程中需要模型的话,就可以给处理器添加一个模型参数,然后在方法体往模型添加值就可以了, 
     
      
    @RequestMapping(method=RequestMethod.GET) 
    public void index5(){ 
        ModelAndView modelAndView = new ModelAndView(); 
        modelAndView.addObject("xxx", "xxx"); 
    } 
    //返回的结果页面还是:/type 
    //这个时候我们一般是将返回结果写在了HttpServletResponse 中了,如果没写的话, 
    //spring就会利用RequestToViewNameTranslator 来返回一个对应的视图名称。如果这个时候需要模型的话,处理方法和返回字符串的情况是相同的。 
 
分享到:
评论

相关推荐

    Spring定义bean的三种方式和自动注入

    在Spring框架中,管理Bean的方式主要有三种:XML配置、注解配置和Java配置。下面将详细介绍这三种方式以及Spring的自动注入机制。 1. **基于XML的Bean定义**: 在XML配置中,我们通常在`applicationContext.xml`...

    Spring MVC请求映射常见的三种方式

    本文将详细探讨Spring MVC中常见的三种请求映射方式:基于注解的映射、基于XML配置的映射以及基于Java配置的映射。我们将深入理解每种方式的工作原理,并通过实例来展示其用法。 ### 1. 基于注解的映射 **注解驱动...

    spring入门学习-6、AOP几种配置方式详解.pdf

    ### Spring AOP 几种配置方式详解 #### 一、Spring AOP 概述 Spring AOP(面向切面编程)是一种强大的编程模式,用于在应用程序中管理横切关注点,如日志记录、安全控制等。Spring 提供了多种方式来支持 AOP 的...

    详解在Spring-Boot中实现通用Auth认证的几种方式

    Spring Boot 中实现通用 Auth 认证的几种方式 在 Spring Boot 中实现通用 Auth 认证有多种方式,本文将介绍其中的几种常见的方式。 1. 使用 AOP 实现 Auth 认证 AOP(Aspect-Oriented Programming)是 Spring ...

    webservice cxf spring整合返回list,bean,string,json,xml项目完整实例

    7. **返回JSON和XML**:CXF支持JSON和XML两种常见的数据交换格式。对于JSON,可以使用`@Produces("application/json")`和`@Consumes("application/json")`注解来指定。XML则使用相应的XML注解。CXF内置了JSON和XML的...

    Spring5种增强代码

    在实际应用中,可以通过以下几种方式定义和使用切面: 1. 注解驱动的切面:使用`@Aspect`注解定义一个类作为切面,然后在类内部使用`@Before`, `@After`, `@AfterReturning`, `@AfterThrowing` 和 `@Around` 注解...

    Spring 实例化Bean的三种方式

    ### Spring 实例化Bean的三种方式详解 在Java企业级应用开发中,Spring框架因其强大的功能和灵活性,成为了处理依赖注入、事务管理等任务的首选工具。其中,Bean的实例化是Spring框架的核心功能之一,它支持多种...

    Spring在代码中获取bean的几种方式.rar

    以下将详细介绍Spring在代码中获取bean的几种主要方法: 1. **`ApplicationContext` 接口** `ApplicationContext` 是Spring中最常用的接口之一,它提供了获取Bean的多种方法。例如,`getBean(String beanName)` ...

    Spring获取webapplicationcontext,applicationcontext几种方法详解

    Spring 获取 WebApplicationContext、ApplicationContext 几种方法详解 在 Spring 框架中,获取 WebApplicationContext 和 ApplicationContext 对象是非常重要的,因为它们提供了访问 Spring 容器中的 Bean 对象的...

    使用Spring的注解方式实现AOP入门

    在Spring中,我们可以通过以下几种注解来实现AOP: 1. `@Aspect`:这个注解用于标记一个类为切面。切面类通常包含通知和切点定义。 2. `@Before`:此注解用于定义前置通知,即在目标方法执行前执行的代码。例如,...

    Spring框架中Bean的生命周期 Spring中Bean有几种作用域

    接下来,我们讨论Spring中Bean的几种作用域: 1. **单例(Singleton)**:这是默认的作用域,Spring容器只会创建一个Bean实例,所有对Bean的请求都会返回同一个实例。 2. **原型(Prototype)**:在每次请求时,...

    使用Spring的注解方式实现AOP

    在Spring中,注解方式实现AOP主要包括以下几个关键注解: 1. `@Aspect`:这个注解用于定义一个切面类,该类包含了若干个通知(advice)。 2. `@Before`:在目标方法执行前执行的通知,相当于传统的“前置通知”。 3...

    JavaEE实现登录功能的几种框架组合方式

    本文将探讨几种常见的框架组合方式,以帮助开发者高效且安全地完成这一任务。 1. **Servlet + JSP** 最基础的方式是直接使用Servlet和JSP(JavaServer Pages)来处理用户请求和展示页面。Servlet负责后端逻辑,如...

    spring aop jar 包

    Spring AOP支持五种类型的通知:前置通知(Before)、后置通知(After)、返回后通知(After Returning)、异常后通知(After Throwing)和环绕通知(Around)。 3. **切点(Pointcut)**:切点是程序执行过程中的...

    Spring Data JPA 笔记

    它提供了一种面向对象的方式来操作数据库,使得开发人员能够用Java对象来表示数据库中的表和记录。 Spring Data JPA则是在JPA之上构建的一层抽象,它扩展了JPA的功能,提供了更多的便利。例如,Spring Data JPA支持...

    在Web项目中集成Spring

    但不论使用哪种方式,理解Spring在Web项目中的集成原理和组件工作方式都是非常重要的。 总之,Spring为Web开发提供了强大而灵活的框架,通过合理集成和配置,可以构建出高效、可维护的Web应用。

    spring live 中文版

    Spring框架是一种轻量级的Java开发框架,其核心功能包括依赖注入(Dependency Injection, DI)、面向切面编程(Aspect Oriented Programming, AOP)、数据访问/集成、事务管理等。Spring框架的出现极大地简化了企业...

    springmybatis

    查询出列表,也就是返回list, 在我们这个例子中也就是 List&lt;User&gt; , 这种方式返回数据,需要在User.xml 里面配置返回的类型 resultMap, 注意不是 resultType, 而这个resultMap 所对应的应该是我们自己配置的 ...

    struts2 spring hibernate使用XML的整合方式

    ### Struts2、Spring、Hibernate使用XML的整合方式 #### 概述 本文档将详细介绍如何使用XML配置文件实现Struts2、Spring以及Hibernate(通常称为SSH)这三种技术的整合,以支持一个简单的商品管理系统。这个系统...

    Spring框架小结

    Spring MVC框架的工作流程主要包括以下几个步骤: 1. **用户发起请求**:用户通过浏览器或其他客户端向服务器发送HTTP请求。 2. **前端控制器接收请求**:DispatcherServlet作为Spring MVC的前端控制器,负责接收...

Global site tag (gtag.js) - Google Analytics