转自:http://blog.youkuaiyun.com/hankaibo/article/details/7239442
新建后台代码用以测试返回类型,在这里我新建的如下:
- /**
- * 项目名称: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 {
- }
- /**
- * 项目名称: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 //添加注解,这样配置文件就可以找到它了。
- @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("mav"); //设置返回的文件名
- mav.addObject("mav", "我的返回类型是ModelAndView.");
- return mav;
- }
- }
新建用于接受结果的前台页面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>