?? ? ? ?
打開項目templates模板文件夾中的用戶登錄頁面login.html舀寓,結合Thymeleaf模板引擎實現(xiàn)國際化功能?
```html
<!DOCTYPE html>
<html lang="en"
xmlns:th="http://www.thymeleaf.org">
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<meta name="viewport" content="width=device-width,
initial-scale=1,shrink-to-fit=no">
<title>用戶登錄界面</title>
<link th:href="@{/login/css/bootstrap.min.css}"
rel="stylesheet">
<link th:href="@{/login/css/signin.css}"
rel="stylesheet">
</head>
<body class="text-center">
<!--
用戶登錄form表單 -->
<form class="form-signin">
<img class="mb-4"
th:src="@{/login/img/login.jpg}" width="72"
height="72">
<h1 class="h3 mb-3 font-weight-normal"
th:text="#{login.tip}">請登錄</h1>
<input type="text" class="form-control"
th:placeholder="#{login.username}" required=""
autofocus="">
<input type="password" class="form-control"
th:placeholder="#{login.password}" required="">
<div class="checkbox mb-3">
<label>
<input type="checkbox" value="remember-me">
[[#{login.rememberme}]]
</label>
</div>
<button class="btn btn-lg btn-primary btn-block"
type="submit" th:text="#{login.button}">登錄</button>
<p class="mt-5 mb-3 text-muted">? <span
th:text="${currentYear}">2018</span>-<span
th:text="${currentYear}+1">2019</span></p>
<a class="btn btn-sm"
th:href="@{/toLoginPage(l='zh_CN')}">中文</a>
<a class="btn btn-sm" th:href="@{/toLoginPage(l='en_US')}">English</a>
</form>
</body>
</html>
```
?? ? ? ?
使用Thymeleaf模板的#{}消息表達式設置了國際化展示的部分信息。在對記住我rememberme國際化設置時,需要國際化設置的rememberme在<input>標簽外部忍啤,所以這里使用了行內(nèi)表達式[[#{login.rememberme}]]動態(tài)獲取國際化文件中的login.rememberme信息冀宴。另外敛摘,在<form>表單尾部還提供了中文吓著、English手動切換語言的功能鏈接,在單擊鏈接時會分別攜帶國家語言參數(shù)向“/”路徑請求跳轉歉井,通過后臺定制的區(qū)域解析器進行手動語言切換?
**5. 整合效果測試**
?? ? ? ? 單擊“English”鏈接進行語言國際化切換時攜帶了指定的“l(fā)=zh_CN”參數(shù)柿祈,后臺定制的區(qū)域解析器配置類MyLocalResovel中的解析方法會根據(jù)定制規(guī)則進行語言切換,從而達到了手動切換國際化語言的效果 哩至。
***上了拉勾教育的《Java工程師高薪訓練營》躏嚎,做一下筆記。希望拉勾能給我推到想去的公司菩貌,目標:字節(jié)B丁!***