0

メソッドを使用してオブジェクトを作成すると、createDummyObjectModelフローはloadPageメソッドに移動し、そこでデータを入力dummyObjectしてモデルに追加し、showDummyObjectメソッド (ページからの get 呼び出し) にアクセスできるようにします。

この問題はdummyObject、メソッドに入力した後に発生しloadPage、フローが再び戻ってcreateDummyObjectModelデータが消去されます。

この問題を解決する最善の方法は何ですか? ModelAttribute@メソッドが常に最初に呼び出されることは知っています。

  @Controller
    @SessionAttributes( value = {"abcModel"} )
    public class myController

{
    @RequestMapping( value = "/loadHomePage.html", method = RequestMethod.GET )
    public String loadPage( @ModelAttribute( "abcModel" ) DummyObject dummyObject,
           ModelMap model ) 
    {
           dummyObject = webService.getMyDummyObject("paramters");

           model.addAttribute( "abcModel", dummyObject );

        return "homepage";
    }

    @RequestMapping( value = "/getDummyObjectString.html" )
    public void showDummObject( @ModelAttribute( "abcModel" ) DummyObject dummyObject,
             ModelMap model,
            Writer out ) throws IOException
    {

        String dummyString = dummyObject.toString();
        out.write( dummyString );

    }


    @ModelAttribute( "abcModel" )
    public DummyObject createDummyObjectModel()
    {
        DummyObject dm = new DummyObject();

        return dm;
    }

}
4

1 に答える 1

0

@ModelAttributeパラメータがnullに設定されているメソッドを呼び出すときは、Springが@ModelAttributeメソッドを呼び出す必要があります。Webサービスを呼び出すと、dummyObject = webService.getMyDummyObject("paramters");何かが返されますか?createDummyObjectModel()Springがあなたを再び呼び出したのはあなたdummyObjectがnullだからだと思います。

于 2013-03-13T08:47:20.653 に答える