springMVC-模型数据的处理
2023-12-16 11:38:35
?一、数据放入到request域当中
1、把获取的数据放入request域中,?方便在跳转页面去显示?
<a>添加主人信息</a>
<form action="vote/vote04" method="post" >
主人id:<input type="text" name="id"><br>
主人名:<input type="text" name="monsterName"><br>
宠物名:<input type="text" name="pet.petName"><br>
<input type="submit" value="提交" ><br>
@RequestMapping(value = "/vote04")
public String vote04(Monster monster, HttpServletRequest request,
HttpServletResponse response){
System.out.println("请求到vote04");
request.setAttribute("monster", monster);
request.setAttribute("address","湖州");
return "voteOK";
}
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>获取参数成功
地址: ${address}<br>
主人名字:${requestScope.monster.monsterName}<br>
主人信息:${requestScope.monster}<br>
</body>
</html>
2、通过请求的方法参数Map<String,Object>, springMVC自动将map参数的内容放入reguest域
<%--确保这里的name与bean的属性名一致,否则拿不到值--%>
<a>添加主人信息</a>
<form action="vote/vote05" method="post" >
主人id:<input type="text" name="id"><br>
主人名:<input type="text" name="monsterName"><br>
宠物名:<input type="text" name="pet.petName"><br>
<input type="submit" value="提交" ><br>
</form>
@RequestMapping(value = "/vote05")
public String vote05(Monster monster, Map <String,Object> map){
map.put("monster", monster);
map.put("Address", "BEIJING");
return "voteOK";
}
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>获取参数成功
地址: ${address}<br>
主人名字:${requestScope.monster.monsterName}<br>
主人信息:${requestScope.monster}<br>
3、通过返回一个ModelAndView对象实现request域数据
1>从本质看,请求响应的方法return"xx",好像是返回了一个字符串,其实本质都是返回了一个ModeIAndView对象,只是默认被封装起来的.
2>ModelAndView即可以包含model数据,也可以包含视图信息
3>ModelAndView对象的addObject方法可以添加 key-val数据,默认在request域中4>ModelAndView对象setView方法可以指定视图名称
<%--确保这里的name与bean的属性名一致,否则拿不到值--%>
<a>添加主人信息</a>
<form action="vote/vote06" method="post" >
主人id:<input type="text" name="id"><br>
主人名:<input type="text" name="monsterName"><br>
宠物名:<input type="text" name="pet.petName"><br>
<input type="submit" value="提交" ><br>
</form>
@RequestMapping(value = "/vote06")
public ModelAndView vote06(Monster monster){
//创建一个modleANDView
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("monster", monster);
modelAndView.addObject("address", "杭州");
modelAndView.setViewName("voteOK");
return modelAndView;
}
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>获取参数成功
地址: ${address}<br>
主人名字:${requestScope.monster.monsterName}<br>
主人信息:${requestScope.monster}<br>
</body>
二、将数据放入到session域中
1、通过@SessionAttributes实现将数据放入session域
首先,在handler上写一个@SessionAttributes注解
@SessionAttributes(value = "myMaster")
@RequestMapping(value = "/vote")
@Controller
public class VoteHandler {
只要有一个map的形参,调用了put方法,且key值与@SessionAttributes相同,就会被自动放入到session域中?
@RequestMapping(value = "/vote07")
public String vote07(Map <String,Object> map,Monster monster){
map.put("myMonster",monster);
map.put("address","SHANGHAI");
return "voteOK";
}
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>获取参数成功
地址: ${address}<br>
主人名字:${requestScope.monster.monsterName}<br>
主人信息:${requestScope.monster}<br>
主人名字(session):${sessionScope.myMonter.monsterName}<br>
主人信息(session):${sessionScope.myMonter}<br>
</body>
文章来源:https://blog.csdn.net/qq_36684207/article/details/135026297
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!