我在新的 Spring MVC 3 应用程序中使用 Tiles 2。这是我的模板
<definition name="baseLayout" template="/WEB-INF/jsp/layout/layout.jsp" >
<put-attribute name="title" value="" />
<put-attribute name="header" value="/WEB-INF/jsp/layout/header.jsp" />
<put-attribute name="body" value="" />
<put-attribute name="userInfo" value="" />
<put-attribute name="footer" value="/WEB-INF/jsp/layout/footer.jsp" />
</definition>
和我的页面
<definition name="engageStep1View" extends="baseLayout" >
<put-attribute name="title" value="" />
<put-attribute name="body" value="/WEB-INF/jsp/private/engageStep1.jsp" />
<put-attribute name="userInfo" value="/layout/userInfo" />
</definition>
我在下一行添加到 tiles.xml 定义
<definition name="userInfoView" template="/WEB-INF/jsp/layout/userInfo.jsp" />
enagageStep1 调用控制器有一个更好的主意:
@RequestMapping(value = "/layout/userInfo")
public ModelAndView handleRequest(ModelMap model) {
......
MemberPrincipal memberPrincipal = (MemberPrincipal)authentication.getPrincipal();
model.put("userName", memberPrincipal.getUserName());
return new ModelAndView("userInfoView", "model", model);
}
任何想法?
谢谢