您的位置:首页 > 编程语言 > Java开发

Spring MVC 前后台传值

2015-11-21 20:55 471 查看
Spring MVC的前后台传值

JSP-->Controller
1). 通过post提交http://localhost:8080/spmvc01/user.action?uname=222
Controller中通过public String reg(String uname) {}接收
2).通过post提交
Controller中通过实体接收,会给实体内的同名属性赋值

public String reg2(User user) {
System.out.println("UserController.reg2()");
System.out.println(user.getUname());
return"index";
}


3).接收参数的名称与post提交的参数的名称不一样

publicString reg3(@RequestParam("uname") String name,
HttpServletRequestreq, ModelMap map) {
System.out.println("UserController.reg3()");
System.out.println(name);
map.put("a","aaa");

return"index";
}


Controller-->JSP
1).  HttpServletRequest传值和ModelMap传值

@RequestMapping(params= "method=reg3")
publicString reg3(@RequestParam("uname") String name,
HttpServletRequestreq, ModelMap map) {
System.out.println("UserController.reg3()");
System.out.println(name);
req.setAttribute("b","111111111111");
map.put("a","aaa");

return"index";
}


前台接收分别用${requestScope.b},${sessionScope.a }接收
2).Controller返回ModelAndView

@RequestMapping(params= "method=reg5")
publicModelAndView reg5(String uname) {
System.out.println("UserController.reg5()");
ModelAndViewmav = new ModelAndView();

User u= new User("aaaa");
User u2= new User("bbbbb");

mav.addObject(u);
mav.addObject("uu",u2);

mav.setViewName("index");
returnmav;
}


前台接收:
${requestScope.user.uname}
${requestScope.uu.uname}
页面重定向,转发
return "forward:index.jsp";
return"forward:user.do?method=reg5"; //转发
return"redirect:user.do?method=reg5"; //重定向
return"redirect:http://www.baidu.com"; //重定向

 
            Spring MVC的前后台传值,相对于Struts2的传值方式更多一些,也更灵活,我想这也是SpingMVC比struts2在MVC流程控制上更灵活的一点的原因。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: