目录
一、前言
二、前端
(1)index.jsp
(2)main.jsp
三、后端
(1)User实体
(2)接口
四、测试
(1)使用请求转发
(2)使用重定向
五、总结
当后端执行请求转发跳转的同时,需要通过接口将数据发送到前端页面。
以下类型只要写在方法参数中就可以使用了。
(1)HttpServletRequest对象
(2)HttpServletResponse对象
(3)HttpSession对象
(4)Model/ModelMap对象
(5)Map
对象 注意:Model、Map、ModelMap都使用的是request请求作用域,意味着只能是请求转发后,页面才可以得到值。
触发超链接携带姓名和年龄信息并请求转发“myInfo.do”
访问服务器,进行数据携带跳转
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
Title
main...显示数据
requestUsers:${requestUser}
sessionUsers:${sessionUser}
modelUsers:${modelUser}
mapUsers:${mapUser}
modelMapUsers:${modelMapUser}
从index.jsp页超链接获取的姓名${param.name}
从index.jsp页超链接获取的年龄${param.age}
public class User {
private String name;//姓名
private int age;//年龄
public User() {
}
public User(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
/**
* 所有形参都是SpringMVC默认内置的对象,不需要自己new,直接使用即可
*/
@RequestMapping("/myInfo.do")
public String data(HttpServletRequest request,
HttpServletResponse response, //响应对象无法携带参数
HttpSession session,
Model model,
Map map,
ModelMap modelMap){
//生成数据,传到main.jsp页面上
User u = new User("张松",24);
//传递数据
request.setAttribute("requestUser",u);
session.setAttribute("sessionUser",u);
model.addAttribute("modelUser",u);
map.put("mapUser",u);
modelMap.addAttribute("modelMapUser",u);
return "main"; //请求转发方式跳转页面
//return "redirect:/admin/main.jsp"; //使用重定向只有session方式生效,其他方式无法携带数据跳转
}
之所以使用超链接发送数据,是为了测试,在请求转发之后,页面已经变了,是否能获取到最初第一个页面URL的键值数据,从测试结果得出,是可以正常获取到的。
@RequestMapping("/myInfo.do")
public String data(HttpServletRequest request,
HttpServletResponse response, //响应对象无法携带参数
HttpSession session,
Model model,
Map map,
ModelMap modelMap){
//生成数据,传到main.jsp页面上
User u = new User("张松",24);
//传递数据
request.setAttribute("requestUser",u);
session.setAttribute("sessionUser",u);
model.addAttribute("modelUser",u);
map.put("mapUsers",u);
modelMap.addAttribute("modelMapUser",u);
//return "main"; //请求转发方式跳转页面
return "redirect:/admin/main.jsp"; //使用重定向只有session方式生效,其他方式无法携带数据跳转
}
仅自己学习记录,如有错误,敬请谅解~,谢谢~~~