thymeleaf と thymeleaf-layout-方言を使用して春のプロジェクトをセットアップしました。
このプロジェクトにはコントローラーがあります
@Controller
public class HomeController {
@RequestMapping(value="/", method = RequestMethod.GET)
public String showHome(Model model){
return "home";
}
@RequestMapping(value="/info", method = RequestMethod.GET)
public String showInfo(Model model){
return "info";
}
}
レイアウトもあります
...
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org"
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
<body>
<div layout:fragment="header">
dummy header
</div>
<div layout:fragment="content">
dummy contents
</div>
</body>
</html>
および 2 つのビュー: home.html と info.html は、異なる独自のコンテンツを持っています。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org"
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
layout:decorator="layout">
<body>
<div layout:fragment="content">
unique contents
</div>
</body>
</html>
そしてヘッダー
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org"
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
<body>
<div layout:fragment="header">
username is ${username}
</div>
</body>
</html>
コントローラーメソッドでモデルの属性として渡すことなく、ヘッダーにユーザー名を出力したいと思います。それで、使用されているコントローラーメソッドに関係なく、ヘッダーが含まれる前にカスタムJavaコードを実行してユーザー名を見つけることはできますか? どのようなオプションがありますか?