Java Spring MVC试图从get请求方法中的重定向获取参数
我将表单发布到服务器,一旦表单成功,我想重定向到另一个页面,但是我想将值发送到具有GET请求的重定向页面。我没有获得要传递的值: 错误 我收到HTTP 400错误请求错误 代码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
@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,它甚至可能不起作用,或者指向当前会话中的记录。我尝试加密参数值,但遇到了一些问题。你能帮我看看吗