我使用springtiles框架来Map视图,每个页面都包含标题(一个常见的jsp标题页)+正文(真实视图)。
这个 tiles-definition.xml
如下所示:
<definition extends="defaultTemplate" name="dashboard">
<put-attribute name="header" value="/WEB-INF/jsp/home/mainPageHeader.jsp" />
<put-attribute name="body" value="/WEB-INF/jsp/home/dashboard.jsp" />
</definition>
直到现在, mainPageHeader.jsp
以前是静态页面,但现在我想将一些bean也绑定到这个头页。但它不起作用,我试着如下在我的生活 dashboard
控制器:
ModelAndView model = new ModelAndView("dashboard");
model.addObject("dashboardBean", dashboardObj); // bean related to dashboard page
model.addObject("headerBean", headerObject); // new bean sending for header page.
return model;
但当 Jmeter 板页面加载时,我可以看到异常:
Error 500: java.lang.IllegalStateException: Neither BindingResult nor plain target
object for bean name 'headerBean' available as request attribute.
我可以理解这个问题,我传递给模型的headerbean与视图没有关联。但是对于如何用这个普通的头页绑定bean,我们还没有任何线索。
1条答案
按热度按时间jljoyd4f1#
尝试使用addattribute而不是addobject
即
ModelAndView model = new ModelAndView("dashboard"); model.addAttribute("dashboardBean", dashboardObj); // bean related to dashboard page model.addAttribute("headerBean", headerObject); // new bean sending for header page. return model;