我使用createDummyObjectModel方法创建一个对象,然后转到loadPage方法,在该方法中我填充dummyObject并将其添加到模型中,以便showDummyObject方法(这是来自页面的get调用)可以访问它。
问题发生在我在loadPage方法中填充dummyObject之后,流再次返回到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;
}
}发布于 2013-03-13 16:47:21
当调用@ModelAttribute参数设置为null的方法时,应由Spring调用@ModelAttribute方法。您对the服务dummyObject = webService.getMyDummyObject("paramters");的调用是否会返回一些东西?我猜Spring再次调用你的createDummyObjectModel()是因为你的dummyObject为空。
https://stackoverflow.com/questions/15366929
复制相似问题