0

RequestSpring Formは、呼び出しで入力された場合は正常に送信できません[バインディングの問題が発生します]が、アノテーションタグを使用しloadFormてメソッドに入力された場合は正常に機能します。必要に応じてテストするために、githubで簡単な例を提供できます:)setupFormObject@ModelAttribute

AutoPopulatingListを検索して使用するのに数日を費やしましたが、役に立ちませんでした

以下の例

@ModelAttribute("showForm")
public ShowForm setupFormObject() {
    //Instantiate showForm with data
    return showForm;
}

@RequestMapping(method = RequestMethod.GET)
public ModelAndView loadForm(@RequestParam("id") String id, HttpSession session) {    
    ModelAndView modelAndView = new ModelAndView(nextPage);
    //Instantiate showForm with data
    //modelAndView.addObject("showForm", showForm);
    return modelAndView;
}

@RequestMapping(method = RequestMethod.POST)
public String post(@ModelAttribute("showForm") ShowForm showForm, BindingResult result, final RedirectAttributes redirectAttrs) {
     //I see changed data here in showForm when populated using @setupFormObject
     //See an exception in JSP with binding error if populated in loadForm
     return "";
 }

あなたの助けは大歓迎です

ありがとう

4

2 に答える 2

0

メソッドに渡されるtype@ModelAttributeという名前のパラメーターに追加します。showFormShowFormloadForm

@RequestMapping(method = RequestMethod.GET)
public ModelAndView loadForm(@RequestParam("id") String id, 
               @ModelAttribute("showForm") ShowForm showForm, HttpSession session) {    
    ModelAndView modelAndView = new ModelAndView(nextPage);
    //Instantiate showForm with data
    //modelAndView.addObject("showForm", showForm);
    return modelAndView;
}

また、実際に GET リクエストを実行していることを確認してください。これは、以下が必要な投稿であると思われます。

@RequestMapping(method = RequestMethod.POST)
public ModelAndView loadForm(@RequestParam("id") String id, 
于 2013-01-09T20:52:21.147 に答える
0

問題はコンストラクターにありました。プライベートまたは欠落しているパブリック コンストラクターでした。パブリック コンストラクターを追加することで、Spring はオブジェクトを再作成できました。

public UserEntity(){
   //
}

ソリューションへのリンクはこちら

于 2013-01-10T18:21:56.327 に答える