TL; DRは - 私は春とタイルを使用してユーザーを表示するページを作成しようとしているタイルSpring + Tiles2 - モデルからのput-attribute?
にビューに渡された個々のモデルに基づいて、私のタイル定義のPUT-属性を設定します。今、私のページはモデルをうまく使いますが、ページのタイトルにユーザー名(モデルから取得する必要があります)を含める必要があります。
tiles.xml::私は以下の私のコードからいくつか抜粋含めましたあなたが見ることができるように
<definition name="baseLayout" template="/WEB-INF/jsp/layout/layout.jsp">
<put-attribute name="title" value="FitterBlog" />
<put-attribute name="header" value="/WEB-INF/jsp/layout/header.jsp" />
<put-attribute name="nav" value="/WEB-INF/jsp/layout/nav.jsp" />
<put-attribute name="body" value="" />
<put-attribute name="footer" value="/WEB-INF/jsp/layout/footer.jsp" />
<put-attribute name="ads" value="/WEB-INF/jsp/layout/ads.jsp" />
<put-attribute name="css-layout" value="/FitterBlog/resources/css/layout.css" />
</definition>
<definition name="user/display" extends="baseLayout">
<put-attribute name="title" value="FitterBlog - ${user.username}" />
<put-attribute name="body" value="/WEB-INF/jsp/user/display.jsp" />
</definition>
を、私は、ユーザー名を表示するには、JSPと同じように同じ構文を使用してみました。すなわち、私は$ {user.username}を使ってユーザー名を表示しようとしましたが、それはうまくいかず、実際のユーザー名の代わりにタイトルに "$ {user.username}"というテキストが表示されます。
display.jsp:
//output the username from the user model, this works fine
${user.username}
UserController.java
@RequestMapping(value="display/**")
public ModelAndView displayUser(@ModelAttribute("user") User user, BindingResult result) {
//TODO
//retrieve user number from the URL
//retrieve user from database
//display user details
user.setUsername("Awesome username!");
return new ModelAndView("user/display", "user", user);
}
あなたが見ることができるように、私は重いまだ開発中だと、現在のユーザーに自分をオブジェクト(の代わりにユーザー名を設定しますそれをデータベースから取得する)が、それはポイントの横にある。