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=提交
测试结果: