mv.addObject("title","Hello!");
mv.addObject("msg","welcome to Thymeleaf!");「addObject」は、ModelAndViewに値を保管するものです。第1引数に名前を指定し、第2引数に保管するオブジェクトを指定します。ここでは、"title"と"msg"という名前でそれぞれテキストが保管されたことがわかります。<h1 th:text="${title}" />
<p th:text="${msg}" />この${title}と${msg}が、それぞれModelAndViewに保管したtitleとmsgを出力する部分です。こんな具合に、ModelAndViewに保管した値の名前をそのまま式言語で書くだけで、その値が出力できてしまうのです。実に簡単!<h1>${title}</h1>
<p>${msg}</p>こんな形で書けばいいように思えますが、これでは正しくテキストは出力されません。${title}といったテキストがそのまま書きだされてしまうのです。式言語による出力は、Thymeleafが用意する「th:○○」という属性の値に指定するようにしてください。※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
※index.html
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>top page</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<h1 th:text="${title}" />
<p th:text="${msg}" />
</body>
</html>
※app.groovy
@Grab("thymeleaf-spring4")
@Controller
class MyBootApp {
@RequestMapping("/")
@ResponseBody
def top(ModelAndView mv) {
mv.setViewName("index")
mv.addObject("title","Hello!");
mv.addObject("msg","welcome to Thymeleaf!");
}
}
| << 前へ | 次へ >> |