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 ...
随机推荐
- 【USACO 3.2.3】纺车的轮子
[描述] 一架纺车有五个纺轮,这五个不透明的轮子边缘上都有一些缺口.这些缺口必须被迅速而准确地排列好.每个轮子都有一个起始标记(在0度),这样所有的轮子都可以在统一的已知位置开始转动.轮子按照角度变大 ...
- [Python笔记]第二篇:运算符、基本数据类型
本篇主要内容有:运算符 基本数据类型等 一.运算符 1.算术运算 2.比较运算 3.赋值运算 4.逻辑运算 5.成员运算 6.身份运算 7.位运算 8.运算符优先级 二.基本数据类型 1.整数:int ...
- 浅谈MIPS地址对齐问题
1.什么叫地址对齐? RISC 下使用访存指令读取或写入数据单元时,目标地址必须是所访问之数据单元字节数的整数倍,这个叫做地址对齐. 2.计算机主要的架构分哪两类?及其地址对齐在两者的区别? 计算机主 ...
- 死亡的协议--- Pieter Hintjens (ZeroMQ作者)
过去几年中用zeromq写过几个系统系统.对ZeroMQ强大和灵活印象非常深刻.在阅读zeromq guide文档时候.发现作者整理各种通信模式非常经典和实用,可以作为分布式通信的教科书来看.第一次见 ...
- 用tbody代替div 解决 table tr的隐藏问题
有如下需求,需要控制一个table内几个tr的显示问题.一开始想的方法是在这几个要显示的tr外面套一个div,利用div的display:none属性来解决. 但是后来发现div和tr嵌套的时候会有问 ...
- hdu How many integers can you find
题意:找出小于n是m个数每个数的倍数的数的个数. 思路:用二进制表示是那几个数的倍数. 二进制进行容斥,去掉小于0的数. #include <cstdio> #include <cs ...
- poj 3592 Instantaneous Transference
http://poj.org/problem?id=3592 #include <cstdio> #include <cstring> #include <algorit ...
- 简单的猜数字(JAVA版)
按书上的样例来操作的. 不过,书上提到的BUG,我没有在看下一章时就解决了哈.. 从网上查找的删除数组元素的方法. 其实,将数据结构更改为ARRAYLIST,可能更简单.:) GameHelper.j ...
- Android 4.4 上实现透明导航栏和状态栏 Translucent system bar
Translucent system UI styling To get the most impact out of your content, you can now use new window ...
- 深入JS系列学习4
深入JS系列学习4 Javascript 装载和执行 明白了JS的装载和执行,没有给出很好的解决方案,在IE下可用defer属性: 浏览器对于Javascript的运行有两大特性:1)载入后马上执行, ...