日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring Boot 页面国际化

發布時間:2025/3/12 javascript 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Boot 页面国际化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

internationalization詳解

國際化(internationalization)是設計和制造容易適應不同區域要求的產品的一種方式。它要求從產品中抽離所有地域語言,國家/地區和文化相關的元素。換言之,應用程序的功能和代碼設計考慮在不同地區運行的需要,其代碼簡化了不同本地版本的生產。開發這樣的程序的過程,就稱為國際化。

中文語言頁面

英文語言頁面

瀏覽器切換中文,英文

啟動類Application添加額外注解

package com.jege.spring.boot;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.PropertySource; import org.springframework.context.annotation.PropertySources;/*** spring boot 啟動類*/@SpringBootApplication @PropertySources(value = { @PropertySource("classpath:messages.properties") }) public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}}

messages.properties

同messages_en_US.properties

title=User Management id=Id name=Name age=Age userinfo=UserInfoq=Keyword add=Add edit=Edit remove=Remove reload=Reload search=Search save=Save cancel=CancelerrorMessage=Error Message addUser=Add User editUser=Edit UseroperationMessage=Operation Message editSelete=Please select a row of data in the modification deleteSelete=Please select a row of data in the delete

messages_zh_CN.properties

title=\u7528\u6237\u7BA1\u7406 id=\u7F16\u53F7 name=\u4E0B\u9762 age=\u5E74\u9F84 userinfo=\u7528\u6237\u4FE1\u606Fq=\u5173\u952E\u5B57 add=\u6DFB\u52A0 edit=\u7F16\u8F91 remove=\u5220\u9664 reload=\u5237\u65B0 search=\u641C\u7D22 save=\u4FDD\u5B58 cancel=\u53D6\u6D88errorMessage=\u9519\u8BEF\u63D0\u793A addUser=\u6DFB\u52A0\u7528\u6237 editUser=\u7F16\u8F91\u7528\u6237 operationMessage=\u64CD\u4F5C\u63D0\u793A editSelete=\u8BF7\u5148\u9009\u4E2D\u4E00\u884C\u6570\u636E\uFF0C\u5728\u4FEE\u6539\uFF01\uFF01\uFF01 deleteSelete=\u8BF7\u5148\u9009\u4E2D\u4E00\u884C\u6570\u636E\uFF0C\u5728\u4FEE\u6539\uFF01\uFF01\uFF01

user.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib prefix="spring" uri="http://www.springframework.org/tags" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title><spring:message code="title"/></title> <%@include file="/WEB-INF/page/common.jsp"%> <script type="text/javascript">// 頁面加載完畢之后才能寫jQuery的代碼$(function() {// 聲明并緩存easyui組件var userDatagrid = $("#userDatagrid");var userDialog = $("#userDialog");var userForm = $("#userForm");var userSearchForm = $("#userSearchForm");// 表單的添加方法userForm.form({url : "/user/save",onSubmit : function() {// 在表單提交前,做一下驗證return userForm.form("validate");},//data是后臺save方法返回的json字符串success : function(data) {// 需要自己把字符串轉變成json對象,easyiui沒有提供轉換data = $.parseJSON(data);// 判斷保存是否成功if (data.meta.success) {// 成功就關掉對話框userDialog.dialog("close");//重新加載最新的數據userDatagrid.datagrid("reload");} else {$.messager.alert('<spring:message code="errorMessage"/>', data.meta.message, 'error');}}});// 創建操作data-url的json對象,把頁面所有linkbutton組件的操作都統一添加到此對象上面var urlObjectUser = {addUser : function() {// 清空對話框里面的表單內容,防止原來的數據有緩存userForm.form("clear");// 打開對話框,修改標題,然后居中userDialog.dialog("open").dialog("setTitle", '<spring:message code="addUser"/>');},updateUser : function() {// 獲取選中行數據var selectedRow = userDatagrid.datagrid("getSelected");// 判斷是否選中行if (!selectedRow) {$.messager.alert('<spring:message code="operationMessage"/>', '<spring:message code="editSelete"/>', "info");return;}// 清空對話框里面的表單內容userForm.form("clear");//修改的時候才查詢上級null數據$('#parentCombotree').combotree({url : '${ctx}/user/getTreeByParent'});// 使用easyui的form組件load方法,只要是相同的名稱,會自動回顯數據userForm.form("load", selectedRow);// 打開對話框userDialog.dialog("open").dialog("setTitle", '<spring:message code="editUser"/>');},removeUser : function() {// 獲取選中行數據var row = userDatagrid.datagrid("getSelected");// 判斷是否選中行if (!row) {$.messager.alert('<spring:message code="operationMessage"/>', '<spring:message code="deleteSelete"/>', "info");return;}$.get("/user/delete?id=" + row.id, function(data) {if (data.meta.success) {//刪除成功userDatagrid.datagrid("reload");} else {$.messager.alert('<spring:message code="errorMessage"/>', data.meta.message, 'error');}}, 'json');},reloadUser : function() {//調用重新加載數據的方法userDatagrid.datagrid("reload");},saveUser : function() {//提交表單userForm.submit();},cancelUser : function() {//關閉對話框userDialog.dialog("close");},searchUser : function() {//簡單搜索userDatagrid.datagrid("load", {q : $("input[name=q]").val()});}};// 對頁面所有linkbutton組件,統一監聽$("a[data-url]").on("click", function() {// 獲取linkbutton的data-url信息 var url = $(this).data("url");//如果此目標方法是存在的并且linkbutton組件沒有被禁用,才可以點擊if (urlObjectUser[url] && !$(this).linkbutton('options').disabled) {//調用動態的方法urlObjectUser[url]();}});}); </script> </head> <body><!-- 數據表格組件 --><table id="userDatagrid" class="easyui-datagrid" url="/user/json" title="<spring:message code='title'/>" fit="true" border="false"fitColumns="true" singleSelect="true" pagination="true" rownumbers="true" toolbar="#userDatagridToolbar"><thead><tr><th data-options="field:'id'"><spring:message code='id'/></th><th data-options="field:'name',width:10"><spring:message code='name'/></th><th data-options="field:'age',width:10"><spring:message code='age'/></th></tr></thead></table><!-- 數據表格組件工具欄 --><div class="easyui-layout" fit="true"><div id="userDatagridToolbar" region="north" border="false"style="border-bottom: 1px solid #ddd; height: 32px; padding: 2px 5px; background: #fafafa;"><div style="float: left;"><a data-url="addUser" href="javascript:void(0)" class="easyui-linkbutton c1" iconCls="icon-add"><spring:message code='add'/></a> <adata-url="updateUser" href="javascript:void(0)" class="easyui-linkbutton c2" iconCls="icon-edit"><spring:message code='edit'/></a> <adata-url="removeUser" href="javascript:void(0)" class="easyui-linkbutton c3" iconCls="icon-remove"><spring:message code='remove'/></a><a data-url="reloadUser" href="javascript:void(0)" class="easyui-linkbutton c4" iconCls="icon-reload"><spring:message code='reload'/></a></div><div style="float: right"><form method="post"><spring:message code='q'/><input name="q" size="10" /> <a data-url="searchUser" href="javascript:void(0)"class="easyui-linkbutton c5" iconCls="icon-search"><spring:message code='search'/></a></form></div></div></div><!-- 添加/編輯用戶對話框 --><div id="userDialog" class="easyui-dialog" style="width: 360px; height: 260px; padding: 10px 20px"title="管理用戶對話框" data-options="closed:true,modal:true,buttons:'#userDialogButtons',resizable:true"><form id="userForm" method="post"><input type="hidden" name="id" /><div class="ftitle"><spring:message code='userinfo'/></div><table align="center"><tr><td><spring:message code='name'/>:</td><td><input class='easyui-validatebox' required="true" type='text' name='name'></input></td></tr><tr><td><spring:message code='age'/>:</td><td><input class='easyui-numberbox' required="true" min="20" max="80" precision="0" type='text'name='age'></input></td></tr></table></form></div><!-- 對話框按鈕組件 --><div id="userDialogButtons"><a data-url="saveUser" href="javascript:void(0)" class="easyui-linkbutton c6" iconCls="icon-ok"style="width: 90px"><spring:message code='save'/></a> <a data-url="cancelUser" href="javascript:void(0)" class="easyui-linkbutton c7"iconCls="icon-cancel" style="width: 90px"><spring:message code='cancel'/></a></div> </body> </html>

公共jsp頁面

<!-- 國際化的js--> <c:if test="${fn:contains(pageContext.request.locale, 'en')}"> <script type="text/javascript" src="${ctx}/static/easyui/locale/easyui-lang-en.js"></script> </c:if> <c:if test="${fn:contains(pageContext.request.locale, 'zh')}"> <script type="text/javascript" src="${ctx}/static/easyui/locale/easyui-lang-zh_CN.js"></script> </c:if>

如果感覺不錯記得點贊喲!!!

總結

以上是生活随笔為你收集整理的Spring Boot 页面国际化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。