@ModelAttribute人口

时间:2013-03-12 16:34:54

标签: java spring jsp spring-mvc

我正在使用createDummyObjectModel方法创建一个对象,然后流程转到loadPage方法,我填充dummyObject并将其添加到模型中,以便showDummyObject可以访问它1}}方法(来自的一个来电) 页面)。

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;
    }

}

1 个答案:

答案 0 :(得分:0)

当调用@ModelAttribute参数设置为null的方法时,Spring应调用@ModelAttribute方法。 您对网络服务dummyObject = webService.getMyDummyObject("paramters");的调用会给您带来什么回报吗?我猜Spring会再次调用createDummyObjectModel(),因为dummyObject为空。