1

フォームをサーバーに POST し、フォームが成功したら別のページにリダイレクトしたいのですが、GET 要求を持つリダイレクト ページに値を送信したいと考えています。渡す値が得られません:

エラー HTTP 400 Bad Request エラーが発生しています

コード

@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"); 
    }
4

1 に答える 1

3

RedirectView は、モデル オブジェクトを URL に渡します。あなたの例では、ポスト ハンドラー メソッドから返されるモデルはありません。

これを試してみてください。うまくいくはずです:

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

お役に立てれば。

于 2013-04-25T20:31:09.173 に答える