Java Spring MVC试图从get请求方法中的重定向获取参数

Java Spring MVC试图从get请求方法中的重定向获取参数,java,spring,spring-mvc,Java,Spring,Spring Mvc,我将表单发布到服务器,一旦表单成功,我想重定向到另一个页面,但是我想将值发送到具有GET请求的重定向页面。我没有获得要传递的值: 错误 我收到HTTP 400错误请求错误 代码 @RequestMapping(value = "crime_registration_save.htm", method = RequestMethod.POST) public ModelAndView handleSave(@Valid @ModelAttribute Crime crime,Binding

我将表单发布到服务器,一旦表单成功,我想重定向到另一个页面,但是我想将值发送到具有GET请求的重定向页面。我没有获得要传递的值:

错误 我收到HTTP 400错误请求错误

代码

@RequestMapping(value = "crime_registration_save.htm", method = RequestMethod.POST)
    public ModelAndView handleSave(@Valid @ModelAttribute Crime crime,BindingResult result, ModelMap m, Model model) throws Exception {



        if (result.hasErrors()) {

            logger.debug("Has Errors In crime_registration_save");
            model.addAttribute("dbcriminals", myCriminalList);
            model.addAttribute("dbvictims", myVictimList);
            model.addAttribute("status", myStatusList);
            model.addAttribute("crimeCategory", myCrimeCategoryList);
            model.addAttribute("crimeLevel", myCrimeLevelList);
            model.addAttribute("officers", myOfficerList);

            model.addAttribute("victimList", crime.getVictims());
            model.addAttribute("criminalList", crime.getCriminals());

            model.addAttribute("crimeTypeList",
                    crimeTypeManager.getCrimeTypeList(crime.getOffenceCatId()));
            model.addAttribute("icon", "ui-icon ui-icon-circle-close");
            model.addAttribute("results", "Error: Unable to Save Record!");

            return new ModelAndView("crime_registration");
        }
        logger.debug("No errors going to preform save");

        int crimeRecNo;

        crimeRecNo = crimeManager.saveCrime(crime); 

        return new ModelAndView(new RedirectView("monitoringList.htm")); 
    }

//-----------------------------------------------------------------------------------------
    @RequestMapping(value = "monitoringList.htm", method = RequestMethod.GET)
    public ModelAndView handleMonitoring(@RequestParam(value="crimeRecNo", required=true) Integer crimeRecNo, HttpServletRequest request,  
            HttpServletResponse response ,Model model) throws Exception {


        model.addAttribute("crimeRecNo", crimeRecNo);



        return new ModelAndView("monitoringList"); 
    }

RedirectView将模型对象传递到url。在您的示例中,没有从post处理程序方法返回任何模型

试试这个,它应该对你有用:

return new ModelAndView(new RedirectView("monitoringList.htm"), "crimeRecNo", crimeRecNo);

希望这能有所帮助。

有没有一种方法可以在url中对用户隐藏参数,这样他们就看不到犯罪记录?隐藏参数的唯一方法是使用一个粗糙的sesion scope属性方法。我称之为“黑客”,因为这是违反直觉的。。在发布后,提交GET请求的原因是确保用户获得幂等url。用户可以多次加载的url,不会产生任何不利影响。。如果此GET链接不包含它试图获取的数据的id,而是依赖于会话属性,则url不再是幂等的。如果用户稍后加载URL,它甚至可能不起作用,或者指向当前会话中的记录。我尝试加密参数值,但遇到了一些问题。你能帮我看看吗