新しい 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);
}
何か案が?
ありがとう