Spring MVC 前后台传值

Spring MVC的前后台传值

  1. 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";
}

  1. 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的传值方式更多一些,也更灵活,我想这也是SpingMVCstruts2MVC流程控制上更灵活的一点的原因。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值