ホームページ > ウェブフロントエンド > htmlチュートリアル > Spring MVC と easyui internationalization_html/css_WEB-ITnose

Spring MVC と easyui internationalization_html/css_WEB-ITnose

WBOY
リリース: 2016-06-24 12:02:21
オリジナル
1607 人が閲覧しました

建.

Language は WebApp の下に作成され、Language.properties、Language_en.properties、LANGUAGE_ZH_CN.PROPERTIES という名前のファイルが追加されます。このうち、 language.properties がデフォルトのリソース ファイルです。添字にコンテンツを追加します。形式は次のとおりです:

Language.properties

an an an an

an

アンアンアンアンイー= U6B22U8FCE

その中で、JSP では Welcome が重要です。これは、呼び出しに使用されるものです。中国語は Unicode エンコーディングを使用する必要があります (Eclipse のプロパティ ファイルに中国語を入力すると、自動的に Unicode に変換されます。u6b22u8fce-Welcome)。 2. springMVC を設定します

以下の

を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>
ログイン後にコピー
に追加します

& lt; propel name = "Basename" Value = "/Language/LANGUAGE"/& GT;苦しみ。

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" %>
ログイン後にコピー
ログイン後にコピー

ここで、request は HttpServletRequest、モデルは Model です。

4 文字化けの解決

4.1 文字化けした中国語の入力

上記の手順を完了すると、XCenter インターフェイスに中国語を入力して [OK] をクリックすると、データベースに中国語を書き込むときに文字化けが書き込まれることがわかります。

解决办法如下:

applicationContext.xml 内の

$.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 の戻り値の形式が変更されます

5 中英文切换

5.1 资源文件的中英文切换

这个比较简单,使用如下代码就行

<a href="?locale=en" onclick="changeLanguage('en')">English</a><a href="?locale=zh" onclick="changeLanguage('zh_CN')">简体中文</a>
ログイン後にコピー

5.2 easyui框架的中英文切换

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中的方法替换就行了,这样国际化就完成了。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート