mv.addObject("title","Hello!");「addObject」は、ModelAndViewに値を保管するものです。第1引数に名前を指定し、第2引数に保管するオブジェクトを指定します。ここでは、"title"と"msg"という名前でそれぞれテキストが保管されたことがわかります。
mv.addObject("msg","welcome to Thymeleaf!");
<h1 th:text="${title}" />この${title}と${msg}が、それぞれModelAndViewに保管したtitleとmsgを出力する部分です。こんな具合に、ModelAndViewに保管した値の名前をそのまま式言語で書くだけで、その値が出力できてしまうのです。実に簡単!
<p th:text="${msg}" />
<h1>${title}</h1>こんな形で書けばいいように思えますが、これでは正しくテキストは出力されません。${title}といったテキストがそのまま書きだされてしまうのです。式言語による出力は、Thymeleafが用意する「th:○○」という属性の値に指定するようにしてください。
<p>${msg}</p>
※リストが表示されない場合
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!"); } }
<< 前へ | 次へ >> |