记得在学Struts2时,当需要跳转到一个表单填写jsp时,我通常要让Action执行execute()方法返回一个INPUT,当表单填写完又提交到同一个Action另外一个方法,并且在struts,xml中配置。
在SpringMVC中怎么实现这样一个跳转呢?很容易,只需要在@RequestMapping配置一个method就能够完成了。
代码如下
package com.test.study;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
@RequestMapping("GetAndPost")
public class Test002_GetAndPost_1 {
//当访问localhost:8080/.../GetAndPost链接时,因为此时的访问方式为get,便会执行先这个get方法(方法名可以任意),
//为了清晰的表示才使用get
@RequestMapping(method=RequestMethod.GET)
public String get(){
return "Test002_get";
}
//当提交表单到localhost:8080/.../GetAndPost时,这时便会执行这个post方法。
//(注意表单提交方式必须为post,否则则会执行上面的方法)
@RequestMapping(method = RequestMethod.POST)
public String post(){
return "Test002_post";
}
}
Test002_get.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'Test002_get.jsp' starting page</title>
</head>
<body>
This is GET View
<form action="" method="post">
<input type="submit" value="点击跳转到Post页面">
</form>
</body>
</html>
Test002_post.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'Test02_post.jsp' starting page</title>
</head>
<body>
This is POST View <br>
</body>
</html>
其他的如web.xml,dispatchservlet-servlet.xml请见上篇文章:Spring MVC 001_入门 http://blog.csdn.net/a6383277/article/details/7537094,配置不需要改动直接使用即可
这里不在重复。