SpringMVC_处理数据模型(@ModelAndView、@Map、@SessionAttributes)

版权声明:非允许不得转载! https://blog.csdn.net/wangwjtt/article/details/83614891

1. 处理模型数据之ModelAndView

首先ModelAndView 分为两部分:model和view。model负责的是从后面接收回来的参数,view就是视图就是指定的jsp页面。例如:ModelAndView mv = new ModelAndView(“test”); 所以当return mv的时候,其中view就是test.jsp页面,代码如下

	ModelAndView mv = new ModelAndView("test");//文件名(例如JSP: test.jsp)                            
	mv.addObject("username", "wang"); //"hellow"为传到jsp的数据,用aa取

Demo如下:

	<form action="springmvc/TestModelAndView" method="post">
		用户名<input type="text" name="username"/><br/>
		<input type="submit" value="提交">
	</form>
	@RequestMapping("/TestModelAndView")
	private static final String SUCCESS = "success";
	public ModelAndView TestModelAndView(@RequestParam("username") String username){
		ModelAndView mv=new ModelAndView(SUCCESS);
		mv.addObject("username",username);
		return mv;
	}
JSP页面展示:${username}

2. 处理模型数据之Map

	<a href="springmvc/TestMap">TestMap</a><br/>
	private static final String SUCCESS = "success";

	@RequestMapping("/TestMap")
	public String TestMap(Map<String,Object> map){
		map.put("city", Arrays.asList("Dog","Cat","bird"));
		return SUCCESS;
	}
	展示页面:${city}

3. 处理模型数据之SessionAttributes

SessionAttributes除了可以通过value值来指定放入Session里的内容外,还可以使用types属性值来指定
注意:SessionAttributes只能修饰类,不能修饰方法

@Controller
@SessionAttributes(value={"user"},types={String.class})
@RequestMapping("/springmvc")
public class SpringMVCTest {
	private static final String SUCCESS = "success";

	@RequestMapping("/TestSessionAttributs")
	public String TestSessionAttributs(Map<String,Object> map){
		User user=new User("wang","123",50);
		map.put("user", user);
		map.put("pass", "123456");
		return SUCCESS;
	}
	
}
	展示页面:
		requestScope用户名${requestScope.user.username} <br>
		requestScope密码${requestScope.pass} <br>
		SessionScope用户名${sessionScope.user} <br>
		SessionScope密码${sessionScope.pass} <br>

猜你喜欢

转载自blog.csdn.net/wangwjtt/article/details/83614891