2017-08-18 165 views
1

どのようにリダイレクトにパス変数を持つ別のコントローラにリダイレクトするのですか?私はそれ実装方法@PathVariableを持つ他のコントローラにリダイレクト

java.lang.IllegalArgumentException: Model has no value for key 'formId'

Long formId = drugType.getFormId(); 
      view = "redirect:/pub/req/customForm/view/{formId}"; 

をコントローラで受信された:

@RequestMapping(method = RequestMethod.POST, value = "/pub/req/customForm/view/{formId}") 
String completeCustomForm(@PathVariable Long formId, 
     @Valid @ModelAttribute CustomFormLayout customFormLayout, 
     BindingResult errors, HttpServletRequest request, Model model, 
     RedirectAttributes attr) { 

すべてのアイデアは、私はリダイレクトすることができますどのように 私はそれを次の方法を試してみましたが、このエラーを取得しますformIdの値を持つこのコントローラに?

+0

あなたはフォームID情報を持っていますか?リダイレクトする前にコントローラの中に? – XPLOT1ON

答えて

1

してパラメータを適用してみてください。

Long formId = drugType.getFormId(); 
view = "redirect:/pub/req/customForm/view/"+formId; 
0

あなたはリダイレクトアドレス文字列構築することができ、次のいずれか

return "redirect:/pub/req/customForm/view/" + drugType.getFormId(); 

またはあなたのパス変数(「formId」)という名前のモデル属性を追加し、それを使用しますあなたのビュー名にエラーメッセージが表示されます。

model.addAttribute("formId", drugType.getFormId()); 
return "redirect:/pub/req/customForm/view/{formId}"; 
関連する問題