关于SpringMvc在配置过视图解析器前后缀,何时会自动加上的问题

本文探讨了SpringMvc中视图解析器的前后缀问题。通过测试发现,当使用forward或redirect时,如果不手动添加,视图解析器会自动加上前后缀。若URL为相对路径,不会自动添加;而绝对路径下,未加后缀可能导致404错误。在某些情况下,可能需要手动处理以避免重复提交请求的bug。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在自己开发的过程中,想到了题目的问题,于是进行测试


1.测试的两个Handler

/**
	 * 添加成功界面转到购物车页面
	 * @return
	 */
	@RequestMapping("/cart/cart")
	public String showCartList(HttpServletRequest request){
		//从Cookie中获取购物车列表
		List<TbItem> list = getCartListFromCookie(request);
		request.setAttribute("cartList", list);
		return "cart";
	}

/**
	 * 删除购物车中的指定的商品
	 */
	@RequestMapping("/cart/delete/{itemId}")
	public String deleteCartItem(@PathVariable Long itemId,HttpServletRequest request
			,HttpServletResponse response){
		//从cookie中获取购物车列表
		List<TbItem> cartList = getCartListFromCookie(request);
		//遍历找个该商品移除
		for (TbItem tbItem : cartList) {
			if (tbItem.getId().intValue() == itemId.intValue()) {
				//移除
				cartList.remove(tbItem);
				//一定要Break,因为List的特性,在for循环中,是动态生成下标,如果在for循环中删除多个会报错
				//解决方法,把要移除的商品添加到一个新的list中,然后用老List.removeAll
				break;
			
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值