新建后台代码用以测试返回类型,在这里我新建的如下:

/**
* 项目名称: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 {
}

  1,测试ModelAndView类型的返回。在代码中添加如下方法:

/**
* 项目名称: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>

  最后附上代码结构图:

spring3 mvc:方法返回值的学习的更多相关文章

  1. MVC方法返回值数据

    ModelAndView的作用以及用法 使用ModelAndView类用来存储处理完后的结果数据,以及显示该数据的视图.从名字上看ModelAndView中的Model代表模型,View代表视图,这个 ...

  2. Spring MVC的方法返回值和参数传递

    1. SpringMVC方法的返回值类型 3.1String类作为返回值 3.1.1Controller层 /** * 返回值类型为String时,一般用于返回视图名称 * 1.当方法返回值为null ...

  3. JAVAEE——SpringMVC第二天:高级参数绑定、@RequestMapping、方法返回值、异常处理、图片上传、Json交互、实现RESTful、拦截器

    1. 课前回顾 https://www.cnblogs.com/xieyupeng/p/9093661.html 2. 课程计划 1.高级参数绑定 a) 数组类型的参数绑定 b) List类型的绑定 ...

  4. SpringMVC第五篇【方法返回值、数据回显、idea下配置虚拟目录、文件上传】

    Controller方法返回值 Controller方法的返回值其实就几种类型,我们来总结一下-. void String ModelAndView redirect重定向 forward转发 数据回 ...

  5. SpringMVC入门(二)—— 参数的传递、Controller方法返回值、json数据交互、异常处理、图片上传、拦截器

    一.参数的传递 1.简单的参数传递 /* @RequestParam用法:入参名字与方法名参数名不一致时使用{ * value:传入的参数名,required:是否必填,defaultValue:默认 ...

  6. c++ 模板类,方法返回值类型是typedef出来的,或者是auto,那么此方法在类外面如何定义?

    c++ 模板类,方法返回值类型是typedef出来的,或者是auto,那么此方法在类外面如何定义? 比如方法max1的返回值是用typedef定义出来的mint,那么在类外如何定义这个方法呢? tem ...

  7. Spring MVC--------处理方法返回值的可选类型

    对于Spring MVC处理方法支持支持一系列的返回方式:  (1)ModelAndView (2)Model (3)ModelMap (4)Map (5)View (6)String (7)Void ...

  8. C# 方法返回值的个数

    方法返回值类型总的来说分为值类型,引用类型,Void 有些方法显示的标出返回值 public int Add(int a,int b) { return a+b; } 有些方法隐式的返回返回值,我们可 ...

  9. 使用Result代替ResultSet作为方法返回值

    在开发过程中,我们不能将ResultSet对象作为方法的返回值,因为Connection连接一旦关闭,在此连接上的会话和在会话上的结果集也将会自动关闭,而Result对象则不会发生这种现象,所以在查询 ...

随机推荐

  1. C# params参数的应用

    为了将方法声明为可以接受可变数量参数的方法,我们可以使用params关键字来声明数组,如下所示: public static Int32Add(params Int32[] values) { Int ...

  2. 【转】CSS清除浮动_清除float浮动

    CSS清除浮动方法集合 一.浮动产生原因 一般浮动是什么情况呢?一般是一个盒子里使用了CSS float浮动属性,导致父级对象盒子不能被撑开,这样CSS float浮动就产生了. 浮动产生样式效果截图 ...

  3. BZOJ4311 : 向量

    考虑离线操作,求出每个向量存在的时间区间,用时间线段树来进行分治,在每个节点求出凸壳后,询问时在凸壳上三分答案.时间复杂度$O(n\log^2n)$. #include<cstdio> # ...

  4. BZOJ3789 : 扫雪车

    有上下界的网络流 T向S连容量为正无穷的边,将有源汇转化为无源汇 每条边容量减去下界,设in[i]表示流入i的下界之和减去流出i的下界之和 新建超级源汇SS,TT 对于in[i]>0的点,SS向 ...

  5. TYVJ P1032 零用钱 Label:贪心

    背景 USACO OCT09 7TH 描述 作為创造產奶纪录的回报,Farmer John决定开始每个星期给Bessie一点零花钱. FJ有一些硬币,一共有N (1 <= N <= 20) ...

  6. OpenCV 3.0 VS2010 Configuration

    Add in the system Path: C:\opencv\build\x86\vc10\bin; Project->Project Property->Configuration ...

  7. [Bug FIX]安装 account_check_writing模块后采购收据打印报错的问题

    大写金额没填报错 修改:report_check.xml文件,把<span t-esc="fill_stars(o.amount_in_word)"/>一行替换为 &l ...

  8. 【液晶模块系列基础视频】3.1.fatfs文件系统的移植及接口函数的使用

    ============================== 技术论坛:http://www.eeschool.org 博客地址:http://xiaomagee.cnblogs.com 官方网店:h ...

  9. Codeforeces 617E XOR and Favorite Number(莫队+小技巧)

    E. XOR and Favorite Number time limit per test 4 seconds memory limit per test 256 megabytes input s ...

  10. linux系统

    ● ubuntu提示"sudo: unable to resolve host volcano: No such file or directory" 修改/etc/hosts,在 ...