`
韩悠悠
  • 浏览: 835099 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

SpringMVC方法返回值的学习(注解版)

 
阅读更多
/**   
 * 项目名称:Spring3mvc demo  
 * Copyright ? 2010-2012 spartacus.org.cn All Rights Reserved  
 */  
package cn.org.spartacus.spring; 

import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod; 
import org.springframework.web.servlet.ModelAndView;

/**  
 * Description: TODO  
 * @author hankaibo  
 * @date 2012-11-4  
 * @version v1.0  
 */ 
 @Controller     
 //添加注解,这样配置文件就可以找到它了。 
 public class ReturnController {     
 }

 

新建用于接受结果的前台页面mav.jsp

 

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>mav</title>
</head>
<body>
    ${mav }
</body>
</html>

 

 

success.jsp中添加触发条件

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hello world</title>
</head>
<body>
    Hello world!
    <c:redirect url="/app/return/test1" />
</body>
</html>

 

 

地址栏输入测试,完成。

最后完整版如下,Java代码:

 

 

/**  
 * 项目名称:Spring3mvc demo
 * Copyright © 2010-2012 spartacus.org.cn All Rights Reserved
 */
package cn.org.spartacus.spring;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.View;

/**
 * Description: TODO
 * 
 * @author hankaibo
 * @date 2012-11-4
 * @version v1.0
 */
@Controller
// 添加注解,这样配置文件就可以找到它了。
@RequestMapping("return")
public class ReturnController {
    /**
     * <p>
     * Description: 测试一,返回ModelAndVie类型
     * </p>
     * 
     * @param
     * @return ModelAndView
     */
    @RequestMapping(value = "test1", method = RequestMethod.GET)
    public ModelAndView test1(HttpServletRequest request, HttpServletResponse response) {
        ModelAndView mav = new ModelAndView();
        mav.setViewName("return/mav"); // 设置返回的文件名
        mav.addObject("mav", "我的返回类型是ModelAndView.");
        return mav;

    }

    /**
     * <p>
     * Description: 跳转到界面为 类路径@RequestMapping的值+方法@RequestMapping的值组成的页面
     * </p>
     * 
     * @param
     * @return Model
     * @throws
     */
    @RequestMapping("test2")
    public Model test2(Model model) {
        model.addAttribute("model", "我的返回类型是Model");
        return model;

    }

    /**
     * <p>
     * Description: 跳转到界面为 类路径@RequestMapping的值+方法@RequestMapping的值组成的页面
     * </p>
     * 
     * @param
     * @return ModelMap
     * @throws
     */
    @RequestMapping("test3")
    public ModelMap test3(ModelMap modelMap) {
        modelMap.addAttribute("modelMap", "我的返回类型是ModelMap");
        return modelMap;
    }

    /**
     * <p>
     * Description: 跳转到界面为 类路径@RequestMapping的值+方法@RequestMapping的值组成的页面
     * </p>
     * 
     * @param
     * @return Map
     * @throws
     */
    @RequestMapping("test4")
    public Map test4(Map map) {
        map.put("map", "我的返回类型是Map");
        return map;
    }
    
    /**
     * <p>Description: TODO 返回的页面可以为pdf,excel等。</p>
     * @param 
     * @return View
     * @throws
     */
    @RequestMapping("test5")
    public View test5(){
        return null;
    }
    
    /**
     * <p>Description: 跳转到界面为 类路径@RequestMapping的值+方法@RequestMapping的值组成的页面</p>
     * @param 
     * @return void
     * @throws
     */
    @RequestMapping("test6")
    public void test6(Map<String,Object> map){
        map.put("void","我的返回类型是void");
    }
    /**
     * <p>Description: TODO</p>
     * @param 
     * @return String
     * @throws
     */
    @RequestMapping("test7")
    public String test7(Map<String,Object> map){
        map.put("string", "我的返回类型是String");
        return "return/string";
    }
}

 

 

jsp代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hello world</title>
</head>
<body>
    Hello world!
    <c:redirect url="/app/return/test1" />
    <%-- 
    <c:redirect url="/app/return/test2" />
    <c:redirect url="/app/return/test3" />
    <c:redirect url="/app/return/test4" />
    <c:redirect url="/app/return/test5" />
    <c:redirect url="/app/return/test6" />
    <c:redirect url="/app/return/test7" />
     --%>
</body>
</html>

 

 

 

 

 

分享到:
评论

相关推荐

    springmvc入门实例(注解)

    这里,`@RequestMapping("/hello")`注解定义了一个处理HTTP GET请求的映射,而`@ResponseBody`则表示方法返回值应直接写入HTTP响应体。 最后,启动Tomcat服务器,访问`...

    SpringMVC例子注解

    SpringMVC是一个基于Java的轻量级Web应用框架,它为构建RESTful应用程序提供了强大的支持。在本示例中,我们将深入探讨...通过学习和熟练掌握这些注解,开发者能够更加高效地利用SpringMVC框架构建功能丰富的Web应用。

    注解式springMVC的demo

    `@RequestBody`用于将HTTP请求体中的数据转换为方法参数,而`@ResponseBody`将方法返回值直接写入HTTP响应体,通常用于返回JSON或XML格式的数据。 8. **@ModelAttribute** `@ModelAttribute`常用于数据绑定,它...

    springmvc框架注解和非注解实现

    在Spring MVC早期版本中,非注解方式是主要的配置方法。这通常涉及XML配置文件,如`spring-servlet.xml`,用于定义DispatcherServlet、Controller、视图解析器以及其他相关组件。 1. **Controller定义**:在XML配置...

    springmvc注解简单实例

    此外,还有其他一些注解如`@RequestParam`用于获取请求参数,`@PathVariable`用于获取URL路径变量,`@ResponseBody`用于将方法返回值直接写入HTTP响应体等。 在这个实例中,每个层之间的调用都通过注解实现了松耦合...

    springMVC注解大全

    7. `@ResponseBody`:这个注解告诉Spring MVC,方法的返回值应直接写入HTTP响应体,而不是寻找一个视图进行渲染。通常用于返回JSON或XML数据。 8. `@ExceptionHandler`:用于处理全局的异常。在控制器方法上添加此...

    SpringMVC全注解配置

    4. **模型和视图**:`@ModelAttribute`注解用于将方法参数与HTTP请求中的数据绑定,而`@ResponseBody`注解则指示Spring将方法返回值直接写入HTTP响应体,通常用于返回JSON或XML数据。 5. **异常处理**:使用`@...

    springMVC 注解版

    总之,"springMVC 注解版"资源涵盖了Spring MVC框架的核心注解使用,是学习和实践Spring MVC开发的宝贵资料。通过深入学习和实践,开发者可以掌握如何创建控制器、处理HTTP请求、进行数据绑定、异常处理以及事务管理...

    SpringMVC 常用注解类视频详解

    在Spring MVC框架中,注解是实现控制器、数据绑定、模型映射等核心功能的关键元素。这些注解简化了代码,使得开发更加...视频教程结合课程文档将提供更加直观和详尽的指导,帮助学习者更好地掌握Spring MVC的注解使用。

    SpringMVC学习课堂笔记

    通过以上知识点的学习,我们不仅了解了SpringMVC的基本原理和用法,还掌握了如何将其应用于实际项目中,包括与MyBatis的整合、注解开发、高级特性等。这有助于我们在实际工作中更加熟练地运用SpringMVC框架。

    Spring2.5_基于注解驱动的SpringMVC

    - **`@ModelAttribute`**:该注解用于将方法返回的对象添加到模型中,可以在多个地方使用,如方法参数、方法返回值等。 - **依赖注入**:通过`@Autowired`等注解,SpringMVC支持自动装配Controller所需的依赖,如上...

    java的ssm框架中的SpringMVC的学习笔记课件

    例如,通过 `@RequestMapping` 注解映射请求,`@Controller` 注解声明控制器类,`@ResponseBody` 注解将方法的返回值直接写入 HTTP 响应体等。 一个简单的注解式 SpringMVC 项目创建步骤: 1. 创建 Maven Web 项目...

    SpringMVC精品资源--教程源码-springboot部分SpringMVC常用的注解; SpringBoot.zip

    3. **@GetMapping** 和 **@PostMapping**:这些是Spring 4.3引入的简化版注解,分别用于处理GET和POST请求。它们是@RequestMapping的特化,使代码更加清晰易读。 4. **@PathVariable**:用于从URL模板中提取参数值...

    SSM注解版实例

    在注解版SpringMVC中,我们可以直接在控制器类的方法上使用`@RequestMapping`来定义请求映射,如`@RequestMapping("/hello")`表示处理"/hello"的请求。还可以通过`@RequestParam`、`@PathVariable`等注解获取请求...

    基于注解的spring3+hibernate3的springMVC框架

    `@Controller`注解标记控制器类,而`@ResponseBody`则表示方法的返回值直接写入HTTP响应体。 **注解的使用** 在基于注解的开发模式下,开发者不再需要大量XML配置,而是直接在类或方法上使用注解。这种方式降低了...

    springMVC注解解释

    本文将详细介绍SpringMVC中的一些核心注解及其作用。 1. **@Controller**: `@Controller`注解用于标记一个类作为Spring MVC的控制器。当Spring的组件扫描启用后,带有此注解的类会被识别为处理HTTP请求的组件。...

    SpringMVC源码分析系列

    首先,HandlerMethod类是Spring3.1版本之后引入的,它封装了方法参数、方法注解、方法返回值等元素。HandlerMethod的子类InvocableHandlerMethod拥有WebDataBinderFactory和HandlerMethodArgumentResolverComposite...

Global site tag (gtag.js) - Google Analytics