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 方法。您对网络服务的调用是否会dummyObject = webService.getMyDummyObject("paramters");返回一些东西?我猜 Spring 再次打电话给你createDummyObjectModel(),因为你dummyObject是空的。

于 2013-03-13T08:47:20.653 回答