当前位置 : 主页 > 编程语言 > c++ >

SpringMVC

来源:互联网 收集:自由互联 发布时间:2021-07-03
传值和接值 Spring MVC contorller跳转到另一个controller并传值示例均从createOrderForOld跳转到createOrder 1: forward 请求转发@RequestMapping(value ="/createOrderForOld")public String createOrder(HttpServletRequest re
传值和接值
Spring MVC contorller跳转到另一个controller并传值
示例均从createOrderForOld跳转到createOrder
      1: forward 请求转发
@RequestMapping(value ="/createOrderForOld")
public String createOrder(HttpServletRequest request,ModelMapmodel) {
return"forward:/createOrder";
}  
 @RequestMapping(value ="/createOrder")
    public String createOrder(String oderId,String orderName,ModelMap model) {
    return"index;
    }
     forward跳转,是请求转发,参数自动跳转,所以当http://localhost:8080/my-app/createOrderForOld?orderId=123 该链接请求createOrderForOld接口后 请求转发到createOrder接口时,参数自动带过来了,createOrder中oderId自动赋值为“123”,参数名称需一致,否则无法传参赋值。


    2: redirect 重定向
    @RequestMapping(value ="/createOrderForOld")
    public String createOrder(HttpServletRequest request,ModelMap model) {
    model.put("orderName","newOld");
    return"redirect:/createOrder?orderId=123";
    }    
    @RequestMapping(value ="/createOrder")
    public String createOrder(String oderId,String orderName,ModelMap model) {
    return"index";
    }
    当请求http://localhost:8080/my-app/createOrderForOld     链接请求createOrderForOld接口后 请求重定向到createOrder接口时,通过model.put方法 ,createOrder中oderName自动赋值为“newOld”,通过参数拼接orderId自动赋值为“123”。
    故redirect跳转到另一个controller是通过model还是拼接url均可。参数名称需一致,否则无法传参赋值。 
RedirectAttributes和ModelMap或Model不推荐一起使用,因为在redirect传值时,同时存在,只有RedirectAttributes中参数值被传递,ModelMap或Model中变量不会传递。
上一篇:hibernate使用
下一篇:pringPOI运用
网友评论