明明是post请求为什么会在地址栏显示参数?

时间:2024-12-11 07:01:16

一、 下面我先说说出现的问题:

1、新增页面的form表头:

2、控制器中的部分代码:

        /**
	 * 按照条件查询APP集合
	 * @return
	 */
	@RequestMapping(value="/")
	public String getAppInfoList(@RequestParam(value="querySoftwareName",required=false) String querySoftwareName,
			  @RequestParam(value="queryStatus",required=false) String queryStatus,
			  @RequestParam(value="queryFlatformId",required=false) String queryFlatformId,
			  @RequestParam(value="queryCategoryLevel1",required=false) String queryCategoryLevel1,
			  @RequestParam(value="queryCategoryLevel2",required=false) String queryCategoryLevel2,
			  @RequestParam(value="queryCategoryLevel3",required=false) String queryCategoryLevel3,
			  @RequestParam(value="pageIndex",required=false) String pageIndex,
			  Model model){
		
		//......省略部分代码
		
		return "/developer/app_weihu";    //跳转到查询页面
	}
       

        /**
	 * 新增APP信息
	 * @param appInfo
	 * @param session
	 * @param request
	 * @param attachs
	 * @return
	 */
	@RequestMapping(value = "/", method = )
	public String addAppInfo(
			AppInfo appInfo,
			HttpSession session,
			HttpServletRequest request,
			@RequestParam(value = "attachs", required = false) MultipartFile[] attachs,
			Model model) {

		// .....此处省略部分代码
		if ((appInfo)) {
			return "redirect:/sys/developer/";//新增成功,跳转到查询方法
		}
		return "developer/app_addInfo";                       //新增失败,原路返回
	}

3、页面显示效果:

 二、问题分析

 控制器中我采用的是redirect关键字,但是,重定向后的参数肯定要拼接到url后面,因此会出现以上问题

三、解决问题

 第一种方案

请求采用forward(转发)

第二种方案:

springMVC的配置文件注解开关中配置"ignoreDefaultModelOnRedirect"变量为true, 如下:
<mvc:annotation-driven ignoreDefaultModelOnRedirect="true"/>