1、運算符
(1)$
在controller層寫入數據:
@Controller public class TestController { @RequestMapping("/test") public String hello(Model model){ Student student=new Student(); student.setSname("zhai"); student.setSnum("201716161"); model.addAttribute("student", student); return "test"; } }
在html頁面取出數據:
<!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h3 th:text="${student.sname}"></h3> <h3>[[${student.sname}]]</h3> </body> </html>
(2)*
在controller層寫入數據:
@Controller public class TestController { @RequestMapping("/test") public String hello(Model model){ Student student=new Student(); student.setSname("zhai"); student.setSnum("201716161"); model.addAttribute("student", student); return "test"; } }
在HTML頁面取出數據:
<body> <h3 th:object="${student}">[[*{sname}]],[[*{snum}]]</h3> </body>
測試結果:
(3)#:獲取資源文件中的數據
獲取不到數據的時候顯示key的名稱:
<body> <h3>[[#{student.sname}]]</h3> </body>
國際化:根據不同的語言和地區顯示對應的地區的語言文字,i18n(其來源是英文單詞internationalizatior的首末字符i和n,18為中間的字符數)
注意:國際化默認資源文件名: message.properties。若自定義資源文件名,需要在application.yml文件配置
例如:下面的配置就是用到的messages.properties文件中的國際化數據
spring:
messages:
basename: messages
目錄結構如下:
在頁面中用#取出國際化相關的數據:
<!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>國際化</title> </head> <body> <form method="post"> <p> <input type="text" name="username" th:placeholder="#{login.username}"> </p> <p> <input type="password" name="password" th:placeholder="#{login.password}"> </p> <input type="submit" th:value="#{login.submit}"/></p> </form> </body> </html>
測試結果:
切換為英文:即指定英文國際化的配置文件
spring:
messages:
basename: message_en_US
測試結果:
(4)@:用來指明路徑
用@指出路徑:
<body> <h3>[[#{student.sname}]]</h3> <a th:href="@{i18n}">登錄</a> </body>
在controller中定義路徑及要跳轉的頁面:
@RequestMapping("/i18n") public String i18n(){ return "i18n"; }
2、國際化
(1)如果出現亂碼,可以更改瀏覽器的語言設置:
(2)默認使用的是messages.properties配置文件中的數據
(3)修改語言的優先級使用的配置文件是不同的
此時調用的是英文的配置文件:
如果將第一語言設置的是配置文件中沒有配置國際化的語言,那么就會使用默認的配置,即messages.properties中的配置:
顯示的是messages.properties中的配置:
login.username=翟 login.password=123 login.submit=提交
測試結果: