SpringMVC08转发和重定向
public class User {
private String name;
private Integer age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public User(String name, Integer age) {
super();
this.name = name;
this.age = age;
}
public User() {
super();
}
@Override
public String toString() {
return "User [name=" + name + ", age=" + age + "]";
}
}
User实体类
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<form action="user/add" method="post">
<!-- 必须是User类中对应的属性名 -->
用户名:<input type="text" name="name">
年龄:<input type="text" name="age">
<button type="submit">提交</button>
</form> </body>
</html>
index.jsp页面
@Controller
@RequestMapping("/user")
public class MyController {
/**
* 转发 默认格式 @RequestMapping(value = "/add")
public ModelAndView add(User user) {
System.out.println("进入了add......");
ModelAndView mv = new ModelAndView();
mv.addObject("name", user.getName()).addObject("age", user.getAge())
.setViewName("forward:/WEB-INF/jsp/success.jsp");// 设置返回的视图
// .setViewName("/WEB-INF/jsp/success.jsp");// 默认就是转发
return mv;
}*/ /**
* 重定向 :
* 01.客户端的行为! 不能访问/WEB-INF/下面的资源
* 02. 以访问的路径为准,所以之前09项目中会有一个user/
* 03.还能携带上一次的数据
* 04.redirect:/success.jsp 加上/ 就是以项目的根目录为准
*/
@RequestMapping(value = "/add")
public ModelAndView add(User user) {
System.out.println("进入了add......");
ModelAndView mv = new ModelAndView();
mv.addObject("name", user.getName()).addObject("age", user.getAge())// 携带数据
.setViewName("redirect:/success.jsp");// 设置返回的视图 重定向
return mv;
} }
Controller代码
<body>
<!--
param.name 底层执行的代码 就是request.getParameter("name")
requestScope.nage 底层执行的代码 就是request.getAttribute("name") 作用域查询 -->
<h1>webroot success页面</h1>
${param.name}<br/>
${param.age}
</body>
webroot下面创建success.jsp页面
==================重定向到方法====================
@Controller
@RequestMapping("/user")
public class MyController {
/**
* 跳转到/list
* Model:跳转list方法时 携带的数据
*/
@RequestMapping(value = "/add")
public String add(User user, Model mv) {
System.out.println("进入了add......");
// model中 增加数据
mv.addAttribute("name", user.getName()).addAttribute("age",
user.getAge());
// 跳转到list 不能加 / 这就是后台路径
return "redirect:list";
} @RequestMapping(value = "/list")
public String list(User user) {
System.out.println("进入了list......");
System.out.println(user.getName());
System.out.println(user.getAge());
return "/success.jsp";// 转发到 webroot下的success.jsp
} }
在上面的例子中更改Controller代码
SpringMVC08转发和重定向的更多相关文章
- spring mvc 请求转发和重定向(转)
spring mvc controller间跳转 重定向 传参 url:http://zghbwjl.blog.163.com/blog/static/12033667220137795252845/ ...
- Servlet中转发和重定向的区别
Servlet中页面的跳转有两种方式:转发和重定向. 1.转发和重定向的区别 ①转发是服务器行为,重定向是客户端行为. ②转发是浏览器发生了一次请求,重定向至少是两次请求. ③转发地址栏中的url不会 ...
- JavaWeb学习之转发和重定向、会话技术:cookie、session、验证码实例、URLConnection使用(下载网页)(4)
1.转发和重定向 HttpServletResponse response 转发: RequestDispatcher dispatcher = request.getRequestDispatche ...
- spring mvc 请求转发和重定向
spring mvc controller间跳转 重定向 传参 url:http://zghbwjl.blog.163.com/blog/static/12033667220137795252845/ ...
- servlet的转发与重定向
转发和重定向都能让浏览器获得另外一个URL所指向的资源,但两者的内部运行机制有着很大的区别. 1.转发:有两种方式获得转发对象(RequestDispatcher):一种是通过HttpServletR ...
- http页面转发和重定向的区别
一.调用方式 我们知道,在servlet中调用转发.重定向的语句如下:request.getRequestDispatcher("new.jsp").forward(request ...
- jsp:和属性相关的方法,请求的转发,重定向
jsp中与属性相关的方法: 方法: void setAttribute(String name, Object o): 设置属性 Object getAttribute(String name):获取 ...
- 定向转发和重定向实现 <select >下拉表单数据传送
定向转发的特点: (1). 实行转发时浏览器上的网址不变 (如果你这点忽视了,那你就要接受我无尽的鄙视吧! 哇咔咔~~~) (2). 实行转发时 : 只有一次请求. 不信,看这下面的 ...
- [drp 7]转发和重定向的区别
导读:类似于response.sendRedirect(request.getContextPath()+"/servlet/item/SearchItemServlet");和r ...
随机推荐
- underscorejs-find学习
2.5 find 2.5.1 语法: _.find(list, predicate, [context]) 2.5.2 说明: 对list集合的每个成员依次进行匹配(根据predicate迭代函数检测 ...
- underscorejs-groupBy学习
2.18 groupBy 2.18.1 语法 _.groupBy(list, iteratee, [context]) 2.18.2 说明 把list分为多个集合,iterator为分组的依据,返回值 ...
- putty登录远程数据库Oracle
ssh username@127.0.0.1 password oracle -su plusql /nolog dbname/dbpassword sql:exit oracle:$exit ssh ...
- function的粗浅理解
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 转:zookeeper3.4.5安装笔记
文章来自于:http://mmicky.blog.163.com/blog/static/150290154201392893623943/ 1:解压 官网zookeeper.apache.org ...
- Black Box
http://poj.org/problem?id=1442 #include<cstdio> #include<algorithm> #include<queue> ...
- LU分解(1)
1/6 LU 分解 LU 分解可以写成A = LU,这里的L代表下三角矩阵,U代表上三角矩阵.对应的matlab代码如下: function[L, U] =zlu(A) % ZLU ...
- 构建你的第一个App
Building Your First App 原文链接:http://developer.android.com/training/basics/firstapp/index.html 译文链接1: ...
- libvirt 基于C API基本使用案例
玩开源分享,需要有干到底的精神,今晚随便逛逛技术论坛突发有感;Ruiy不足之处,需跟进了; 最近变的较懒了,干活有点没劲,也不怪干来干去收获不大,缺少鼓励! 现在玩的技术大多是上不了台面了,想过没,你 ...
- DateGradeView分页绑定
<form method="post" id="nform" runat="server"> < ...