建.
Language は WebApp の下に作成され、Language.properties、Language_en.properties、LANGUAGE_ZH_CN.PROPERTIES という名前のファイルが追加されます。このうち、 language.properties がデフォルトのリソース ファイルです。添字にコンテンツを追加します。形式は次のとおりです:
Language.properties
an an an an
an
をdemo-servlet.xml
<mvc:interceptors> <!-- Changes the locale when a 'locale' request parameter is sent; e.g. /?locale=de --> <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" /></mvc:interceptors><!-- Saves a locale change using a session--><bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver" /><!-- 国际化文件 --><bean id="messageSource"class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> <property name="basename" value="/language/language" /> <property name="defaultEncoding" value="UTF-8"/></bean>
3. 呼び出しの国際化
3.1 Web での呼び出しの国際化
jsp ファイルヘッダーに
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@taglib uri="http://www.springframework.org/tags" prefix="spring" %>
<a href="javascript:void(0)" class="easyui-linkbutton" data-options="plain:true"> Welcome</a>
などの jsp HTML 表示コンテンツの内容を変更します
りーまたは
<a href="javascript:void(0)" class="easyui-linkbutton" data-options="plain:true"> <spring:message code="welcome"/></a>
<input type="text" value="welcome" />
に変更
<input type="text" value='<spring:message code="welcome"/>' />
注: 1 .
2. _en ファイル内のキー値には、または ' 記号を使用できません。
3.3 Java で国際化を呼び出す
コントローラーで使用する
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@taglib uri="http://www.springframework.org/tags" prefix="spring" %>
4 文字化けの解決
4.1 文字化けした中国語の入力
上記の手順を完了すると、XCenter インターフェイスに中国語を入力して [OK] をクリックすると、データベースに中国語を書き込むときに文字化けが書き込まれることがわかります。
$.messager.alert('info');
の変更点: jdbc.properties 内の不要な jdbc.url=jd bc:mysql://localhost:3306/demo次に、?useUnicode=true&characterEncoding=UTF-8 を追加しますが、これは正しくありません。部分 部分 4.2 中国語の表示が文字化けする
そして、ほとんどのインターフェイスがこの文のせいで追加されたことがわかりました
& & lt;%@page language = "java" contentType = "text/html; charset = UTF-8 " pageencoding = " UTF-8"%>は中国語を正常に表示できますが、XCenter インターフェイスの一部では中国語が ??? として表示されます。検査の結果、コントローラーの戻り値が String であり、@ResponseBody とマークされていることが判明しました。データを確認したところ、Spring MVC の @ResponseBody のデフォルトのエンコーディングが ISO-8859-1 であるためであることがわかりました (他のエンコーディングは UTF-8 ですが、同じフレームワークでなぜ別のエンコーディングが使用されているかはわかりません)。
に、Producer = "application/json; charset=utf-8" を追加します
$.messager.alert('<spring:message code="message.info"/>');
if(!model.containsAttribute("contentModel")){ RequestContext requestContext = new RequestContext(request); String welcome = requestContext.getMessage("welcome");}
すると、一部のツリーでは中国語の文字が文字化けして表示されていることがわかります。戻り値がJSON形式に変換されていることが分かりました。 : 法 解決策:
TREE の戻り値の形式が変更されます
这个比较简单,使用如下代码就行
<a href="?locale=en" onclick="changeLanguage('en')">English</a><a href="?locale=zh" onclick="changeLanguage('zh_CN')">简体中文</a>
easyui中有些框架(如datagrid)有些内容是框架自带的,需要在
中加入
<script type="text/javascript" src="js/locale/easyui-lang-zh_CN.js"></script>
那如何切换中英文呢
首先不要在
中添加上面这句,然后在主界面中加入如下js语句
<script type="text/javascript"> var language=window.navigator.language; var userLanguage="${sessionScope['org.springframework.web.servlet.i18n.SessionLocaleResolver.LOCALE']}"; if(null != userLanguage&&userLanguage!=""){//not login language = userLanguage; } $(function(){ var src = 'js/locale' + '/easyui-lang-'+language.replace("-","_")+'.js';// when login in China the language=zh-CN $.getScript(src); });</script>
这是使用jquery加载js文件。
接下来将项目中需要替换的内容全部用步骤3中的方法替换就行了,这样国际化就完成了。