什么网站可以做外链,论文答辩ppt模板免费下载 素材,seo渠道,品牌网站建设福州internationalization详解 国际化#xff08;internationalization#xff09;是设计和制造容易适应不同区域要求的产品的一种方式。它要求从产品中抽离所有地域语言#xff0c;国家/地区和文化相关的元素。换言之#xff0c;应用程序的功能和代码设计考虑在不同地区运行的…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
titleUser Management
idId
nameName
ageAge
userinfoUserInfoqKeyword
addAdd
editEdit
removeRemove
reloadReload
searchSearch
saveSave
cancelCancelerrorMessageError Message
addUserAdd User
editUserEdit UseroperationMessageOperation Message
editSeletePlease select a row of data in the modification
deleteSeletePlease select a row of data in the deletemessages_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\uFF01user.jsp
% page languagejava contentTypetext/html; charsetUTF-8 pageEncodingUTF-8%
%taglib prefixspring urihttp://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-equivContent-Type contenttext/html; charsetUTF-8
titlespring:message codetitle//title
%include file/WEB-INF/page/common.jsp%
script typetext/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 codeerrorMessage/, data.meta.message, error);}}});// 创建操作data-url的json对象把页面所有linkbutton组件的操作都统一添加到此对象上面var urlObjectUser {addUser : function() {// 清空对话框里面的表单内容防止原来的数据有缓存userForm.form(clear);// 打开对话框修改标题然后居中userDialog.dialog(open).dialog(setTitle, spring:message codeaddUser/);},updateUser : function() {// 获取选中行数据var selectedRow userDatagrid.datagrid(getSelected);// 判断是否选中行if (!selectedRow) {$.messager.alert(spring:message codeoperationMessage/, spring:message codeeditSelete/, 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 codeeditUser/);},removeUser : function() {// 获取选中行数据var row userDatagrid.datagrid(getSelected);// 判断是否选中行if (!row) {$.messager.alert(spring:message codeoperationMessage/, spring:message codedeleteSelete/, info);return;}$.get(/user/delete?id row.id, function(data) {if (data.meta.success) {//删除成功userDatagrid.datagrid(reload);} else {$.messager.alert(spring:message codeerrorMessage/, 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[nameq]).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 iduserDatagrid classeasyui-datagrid url/user/json titlespring:message codetitle/ fittrue borderfalsefitColumnstrue singleSelecttrue paginationtrue rownumberstrue toolbar#userDatagridToolbartheadtrth data-optionsfield:idspring:message codeid//thth data-optionsfield:name,width:10spring:message codename//thth data-optionsfield:age,width:10spring:message codeage//th/tr/thead/table!-- 数据表格组件工具栏 --div classeasyui-layout fittruediv iduserDatagridToolbar regionnorth borderfalsestyleborder-bottom: 1px solid #ddd; height: 32px; padding: 2px 5px; background: #fafafa;div stylefloat: left;a data-urladdUser hrefjavascript:void(0) classeasyui-linkbutton c1 iconClsicon-addspring:message codeadd//a adata-urlupdateUser hrefjavascript:void(0) classeasyui-linkbutton c2 iconClsicon-editspring:message codeedit//a adata-urlremoveUser hrefjavascript:void(0) classeasyui-linkbutton c3 iconClsicon-removespring:message coderemove//aa data-urlreloadUser hrefjavascript:void(0) classeasyui-linkbutton c4 iconClsicon-reloadspring:message codereload//a/divdiv stylefloat: rightform methodpostspring:message codeq/input nameq size10 / a data-urlsearchUser hrefjavascript:void(0)classeasyui-linkbutton c5 iconClsicon-searchspring:message codesearch//a/form/div/div/div!-- 添加/编辑用户对话框 --div iduserDialog classeasyui-dialog stylewidth: 360px; height: 260px; padding: 10px 20pxtitle管理用户对话框 data-optionsclosed:true,modal:true,buttons:#userDialogButtons,resizable:trueform iduserForm methodpostinput typehidden nameid /div classftitlespring:message codeuserinfo//divtable aligncentertrtdspring:message codename/:/tdtdinput classeasyui-validatebox requiredtrue typetext namename/input/td/trtrtdspring:message codeage/:/tdtdinput classeasyui-numberbox requiredtrue min20 max80 precision0 typetextnameage/input/td/tr/table/form/div!-- 对话框按钮组件 --div iduserDialogButtonsa data-urlsaveUser hrefjavascript:void(0) classeasyui-linkbutton c6 iconClsicon-okstylewidth: 90pxspring:message codesave//a a data-urlcancelUser hrefjavascript:void(0) classeasyui-linkbutton c7iconClsicon-cancel stylewidth: 90pxspring:message codecancel//a/div
/body
/html公共jsp页面
!-- 国际化的js--
c:if test${fn:contains(pageContext.request.locale, en)}
script typetext/javascript src${ctx}/static/easyui/locale/easyui-lang-en.js/script
/c:if
c:if test${fn:contains(pageContext.request.locale, zh)}
script typetext/javascript src${ctx}/static/easyui/locale/easyui-lang-zh_CN.js/script
/c:if如果感觉不错记得点赞哟