1
我将表单发送到服务器,一旦表单成功我想重定向到另一个页面,但是我想将值发送到具有GET请求的重定向页面。我没有得到的值传递:Spring MVC尝试从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");
}
有没有一种方法可以隐藏用户在url中的参数,所以他们不会看到crimeRecNo? – devdar 2013-04-27 17:41:05
您可以隐藏参数的唯一方法是使用hacky sesion scope属性方法。我把它称为hacky,因为它是直观的。在发布后,呈现GET请求的原因是确保用户获得幂等URL。用户可以加载多次的url,没有任何负面影响。如果这个GET链接不包含它试图获取的数据的id,但是它依赖于会话属性,那么url不再是幂等的。如果用户稍后加载URL,它甚至可能不工作,或指向会话中当前的记录。 – Akshay 2013-04-29 12:01:25
我试着加密参数值,但我遇到了一些问题,你可以看看这个给我http://stackoverflow.com/questions/16259118/encryption-and-decryption-using-blowfish-error-input-length-must-待多个邻 – devdar 2013-04-29 12:29:12