return "cartSuccess" 和 return "redirect:/cart/cart.html" 的区别

15 篇文章 0 订阅
12 篇文章 1 订阅

    

       在SpringMVC中转发和重定向最重要的区别就是:应用场景不同,换句话说,就是需求不同。

如果是直接放回到jsp页面:则如下边两种方式均可。

 1·

	@RequestMapping("/add/{itemid}")
	public String addCart(@PathVariable long itemid,int num,
			HttpServletRequest request,HttpServletResponse response){
		//获取商品数量
		try {
		    cartservice.getItemByitemid(itemid, num, request, response);
			return "cartSuccess";
		} catch (Exception e) {
			e.printStackTrace();
			return "cartSuccess";
		}
	}
2·return "cartSuccess"同样可换成下边这种方式
 return "forward:cartSuccess";

以上两种都是转发的方式,实现效果一致。

注意:上边写法的前提是在SpringMVC的配置文件中已经配置好了前缀和后缀,这样在代码中就可省去无用代码。

 

但如果是在controllercontroller之间的跳转,就要用到redirect重定向了。如下:

	/**
	 * 修改购物车商品的数量
	 * @param itemId
	 * @param num
	 * @return
	 */
	@RequestMapping("/update/num/{itemId}/{num}")
	@ResponseBody
	public String updateNum(@PathVariable long itemId,@PathVariable int num,
			HttpServletRequest request,HttpServletResponse response){
		TaotaoResult result = cartservice.updateCartItem(itemId,num,request,response);
		return "redirect:/cart/cart.html";
	}
	
    重定向后,该返回值就会去请求controller的注解RequestMapping为cart/cart的方法了。(.html是在web.xml文件中配置的拦截格式)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值