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

/**
* 项目名称: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. python开发_mysqldb安装

    在python的API上面,看到了MySQLdb,即python可以操作mysql数据库 接下来,我就把我这两天的工作给大伙絮叨絮叨: 准备条件: 1.MySQL-python-1.2.4b4.win ...

  2. HDU1561 The more, The Better(树形DP)

    题目是有n个存有宝藏的城堡,攻克任何一个城堡都需要先攻克0个或其他1个城堡,问攻克m个城堡最多能得到多少宝藏. 题目给的城堡形成一个森林,添加一个超级根把森林连在一起就是树了,那么就考虑用树型DP: ...

  3. 在Unity3D 4中关联Visual Studio 2012来编写C#

    Unity3D自带的MonoDevelop编辑器无论是js还是c#代码提示都很差,很诡异的就是变量名和方法名有的时候提示有的时候不提示.不过用Visual Studio代替MonoDevelop这个问 ...

  4. cocos2d CCArray

    CCArray* arr=CCArray::create(); arr->retain();//如果不加这个东西,CCArray会被清空 arr->addObject(CCSprite:: ...

  5. window.open() 被拦截后的分析

    前言:此文章仅是个人工作中遇到问题后的一些记录和总结,可能毫无意义.. 事件回顾: 在开发中,PM要求在一个页面中输入多个链接然后可以一键在新窗口打开,所以就想到用window.open来实现,但是测 ...

  6. vi/vim键盘图-----又一张桌面背景好图

    也许还是有很多人不能愿意用CLI的vi/Vim来写东西,不过,当你真的习惯了,它的高效性就是不可估量了.下面的这张图,一看就明白了,从此,学习变的不再艰难^_^ 补注: 图中没有关于查找和替换的,应该 ...

  7. TYVJ P1091 等差数列 Label:dp

    背景 广东汕头聿怀初中 Train#3 Problem 3 描述 等差数列的定义是一个数列S,它满足了(S[i]-S[i-1]) = d (i>1).显然的一个单独的数字或者两个数字也可以形成一 ...

  8. FFmpeg - 音频解码过程

    1. 注册所有解码器 av_register_all(); 2. Codec & CodecContext AVCodec* codec = avcodec_find_decoder(CODE ...

  9. MyEclipse设置注释格式(转载)

    Window --> Java --> Code Style --> Code Templates --> Comments --> types --> Edit ...

  10. hdu

    这道题因为某些位置要重复走,所以不能用标记的方法,但是为了提高效率,可以采用time[]数组和step[]数组来剪枝,很容易想到,当你从一条路劲走到(x,y)处的时间和步骤 比从另一条路劲走到(x,y ...