Inhaltsverzeichnis
1.建立资源文件
2.配置springMVC
3.调用国际化
3.1 在web中调用国际化
3.2 在javascript中调用国际化
3.3 在java中调用国际化
4 解决乱码
4.1 中文输入乱码
4.2 部分界面显示中文乱码
5 中英文切换
5.1 资源文件的中英文切换
5.2 easyui框架的中英文切换
Heim Web-Frontend HTML-Tutorial Spring MVC与easyui国际化_html/css_WEB-ITnose

Spring MVC与easyui国际化_html/css_WEB-ITnose

Jun 24, 2016 pm 12:02 PM
easyui mvc spring 国际化

1.建立资源文件

         在webapp下建立文件夹language,在其中再添加file,命名分别为language.properties,language_en.properties,language_zh_CN.properties。其中language.properties为默认资源文件。

         在其中添加内容,格式如下:

         language.properties

                   welcome=Welcome

         language_en.properties

                   welcome=Welcome

         language_zh_CN.properties

                   welcome=\u6b22\u8fce

         其中welcome为key,在jsp中调用使用的就是这个,汉语的需要使用unicode编码(在eclipse的properties文件中输入汉语会自动转换成unicode。\u6b22\u8fce-欢迎)

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>
Nach dem Login kopieren

其中value即为资源文件所在,不需要后缀名.properties。

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" %>
Nach dem Login kopieren
Nach dem Login kopieren

在jsp HTML显示内容处将内容更改,如

<a href="javascript:void(0)" class="easyui-linkbutton" data-options="plain:true">    Welcome</a>
Nach dem Login kopieren

更改为

<a href="javascript:void(0)" class="easyui-linkbutton" data-options="plain:true">    <spring:message code="welcome"/></a>
Nach dem Login kopieren

<input type="text" value="welcome" />
Nach dem Login kopieren

更改为

<input type="text" value='<spring:message code="welcome"/>' />
Nach dem Login kopieren

3.2 在javascript中调用国际化

在jsp文件头中添加

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@taglib uri="http://www.springframework.org/tags" prefix="spring" %>
Nach dem Login kopieren
Nach dem Login kopieren

$.messager.alert('info');
Nach dem Login kopieren

更改为

$.messager.alert('<spring:message code="message.info"/>');
Nach dem Login kopieren

注意:1.标签不可以这样写""这样会出错。

2.在_en文件中key的值不可以使用\或'符号。

3.3 在java中调用国际化

在controller中使用

if(!model.containsAttribute("contentModel")){    RequestContext requestContext = new RequestContext(request);    String welcome = requestContext.getMessage("welcome");}
Nach dem Login kopieren

其中request为HttpServletRequest,model为Model。

4 解决乱码

4.1 中文输入乱码

完成了上面的步骤之后,会发现XCenter界面中输入汉语,点击确定,往数据库中写入汉语时,写入的是乱码。

解决办法如下:

在applicationContext.xml中的

<property name="url" value="${jdbc.url}"/>
Nach dem Login kopieren

更改为

<property name="url" value="${jdbc.url}?useUnicode=true&characterEncoding=UTF-8"/>
Nach dem Login kopieren

注意:不要在jdbc.properties中的jdbc.url=jdbc:mysql://localhost:3306/demo之后添加?useUnicode=true&characterEncoding=UTF-8,这样是不正确的。

4.2 部分界面显示中文乱码

接下来发现在大部分界面因为添加了这句

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

可以正常显示中文了,但是XCenter部分界面中文显示为???,经过检查发现是因为在controller中返回值为String,而且标记为@ResponseBody,查资料发现是因为Spring MVC中@ResponseBody默认编码是ISO-8859-1(其他的都是UTF-8,谁知道为什么同一个框架中这里要用另外一种编码)。

解决办法:

@RequestMapping(value = "welcome", method = RequestMethod.POST)
Nach dem Login kopieren

中添加produces = "application/json; charset=utf-8"

变成

@RequestMapping(value = "welcome", method = RequestMethod.POST, produces = "application/json; charset=utf-8")
Nach dem Login kopieren

然后会发现在部分的tree中中文仍然显示为乱码,发现是因为返回值转换成JSON格式的原因。

解决办法:

tree的返回值格式化将

JSON.toJSONStringWithDateFormat(rs.getDefaultModel(), "yyyy-MM-dd HH:mm:ss");
Nach dem Login kopieren

  更改为

JSON.toJSONString(rs.getDefaultModel());
Nach dem Login kopieren

5 中英文切换

5.1 资源文件的中英文切换

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

<a href="?locale=en" onclick="changeLanguage('en')">English</a><a href="?locale=zh" onclick="changeLanguage('zh_CN')">简体中文</a>
Nach dem Login kopieren

5.2 easyui框架的中英文切换

easyui中有些框架(如datagrid)有些内容是框架自带的,需要在中加入

<script type="text/javascript" src="js/locale/easyui-lang-zh_CN.js"></script>
Nach dem Login kopieren

那如何切换中英文呢

首先不要在中添加上面这句,然后在主界面中加入如下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>
Nach dem Login kopieren

这是使用jquery加载js文件。

 

接下来将项目中需要替换的内容全部用步骤3中的方法替换就行了,这样国际化就完成了。

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1664
14
PHP-Tutorial
1268
29
C#-Tutorial
1248
24
Ein neues Programmierparadigma, wenn Spring Boot auf OpenAI trifft Ein neues Programmierparadigma, wenn Spring Boot auf OpenAI trifft Feb 01, 2024 pm 09:18 PM

Im Jahr 2023 ist die KI-Technologie zu einem heißen Thema geworden und hat enorme Auswirkungen auf verschiedene Branchen, insbesondere im Programmierbereich. Die Bedeutung der KI-Technologie wird den Menschen zunehmend bewusst, und die Spring-Community bildet da keine Ausnahme. Mit der kontinuierlichen Weiterentwicklung der GenAI-Technologie (General Artificial Intelligence) ist es entscheidend und dringend geworden, die Erstellung von Anwendungen mit KI-Funktionen zu vereinfachen. Vor diesem Hintergrund entstand „SpringAI“ mit dem Ziel, den Prozess der Entwicklung von KI-Funktionsanwendungen zu vereinfachen, ihn einfach und intuitiv zu gestalten und unnötige Komplexität zu vermeiden. Durch „SpringAI“ können Entwickler einfacher Anwendungen mit KI-Funktionen erstellen, wodurch diese einfacher zu verwenden und zu bedienen sind.

Verwenden Sie Spring Boot und Spring AI, um generative Anwendungen für künstliche Intelligenz zu erstellen Verwenden Sie Spring Boot und Spring AI, um generative Anwendungen für künstliche Intelligenz zu erstellen Apr 28, 2024 am 11:46 AM

Als Branchenführer bietet Spring+AI durch seine leistungsstarke, flexible API und erweiterte Funktionen führende Lösungen für verschiedene Branchen. In diesem Thema werden wir uns mit den Anwendungsbeispielen von Spring+AI in verschiedenen Bereichen befassen. Jeder Fall wird zeigen, wie Spring+AI spezifische Anforderungen erfüllt, Ziele erreicht und diese LESSONSLEARNED auf ein breiteres Anwendungsspektrum ausdehnt. Ich hoffe, dieses Thema kann Sie dazu inspirieren, die unendlichen Möglichkeiten von Spring+AI tiefer zu verstehen und zu nutzen. Das Spring-Framework hat eine mehr als 20-jährige Geschichte im Bereich der Softwareentwicklung, und seit der Veröffentlichung der Spring Boot 1.0-Version sind 10 Jahre vergangen. Nun kann niemand diesen Frühling bestreiten

Was sind die Implementierungsmethoden für programmatische Frühlingstransaktionen? Was sind die Implementierungsmethoden für programmatische Frühlingstransaktionen? Jan 08, 2024 am 10:23 AM

So implementieren Sie programmgesteuerte Spring-Transaktionen: 1. Verwenden Sie TransactionCallback und TransactionCallbackWithoutResult; 4. Verwenden Sie TransactionTemplate in Kombination mit @Transactional;

So legen Sie die Transaktionsisolationsstufe im Frühjahr fest So legen Sie die Transaktionsisolationsstufe im Frühjahr fest Jan 26, 2024 pm 05:38 PM

So legen Sie die Transaktionsisolationsstufe in Spring fest: 1. Verwenden Sie die Annotation @Transactional. 3. Legen Sie sie in der Spring-Konfigurationsdatei fest. 4. Legen Sie sie in der Java-Konfigurationsklasse fest. Detaillierte Einführung: 1. Verwenden Sie die Annotation @Transactional, fügen Sie die Annotation @Transactional zu der Klasse oder Methode hinzu, die eine Transaktionsverwaltung erfordert, und legen Sie die Isolationsstufe im Attribut fest. 2. In der Spring-Konfigurationsdatei usw.

PHP MVC-Architektur: Webanwendungen für die Zukunft erstellen PHP MVC-Architektur: Webanwendungen für die Zukunft erstellen Mar 03, 2024 am 09:01 AM

Einführung In der sich schnell entwickelnden digitalen Welt von heute ist es von entscheidender Bedeutung, robuste, flexible und wartbare WEB-Anwendungen zu erstellen. Die PHPmvc-Architektur bietet eine ideale Lösung, um dieses Ziel zu erreichen. MVC (Model-View-Controller) ist ein weit verbreitetes Entwurfsmuster, das verschiedene Aspekte einer Anwendung in unabhängige Komponenten unterteilt. Die Grundlage der MVC-Architektur Das Kernprinzip der MVC-Architektur ist die Trennung von Belangen: Modell: Kapselt die Daten und Geschäftslogik der Anwendung. Ansicht: Verantwortlich für die Präsentation von Daten und die Abwicklung der Benutzerinteraktion. Controller: Koordiniert die Interaktion zwischen Modellen und Ansichten, verwaltet Benutzeranfragen und Geschäftslogik. PHPMVC-Architektur Die phpMVC-Architektur folgt dem traditionellen MVC-Muster, führt aber auch sprachspezifische Funktionen ein. Das Folgende ist PHPMVC

Frühlingsanmerkung enthüllt: Analyse gängiger Anmerkungen Frühlingsanmerkung enthüllt: Analyse gängiger Anmerkungen Dec 30, 2023 am 11:28 AM

Spring ist ein Open-Source-Framework, das viele Anmerkungen bereitstellt, um die Java-Entwicklung zu vereinfachen und zu verbessern. In diesem Artikel werden häufig verwendete Spring-Annotationen ausführlich erläutert und spezifische Codebeispiele bereitgestellt. @Autowired: Die Autowired-Annotation @Autowired kann verwendet werden, um Beans im Spring-Container automatisch zu verdrahten. Wenn wir die Annotation @Autowired verwenden, wenn Abhängigkeiten erforderlich sind, findet Spring passende Beans im Container und fügt sie automatisch ein. Der Beispielcode lautet wie folgt: @Auto

Nutzungshandbuch für das Spring Security-Berechtigungskontroll-Framework Nutzungshandbuch für das Spring Security-Berechtigungskontroll-Framework Feb 18, 2024 pm 05:00 PM

In Back-End-Managementsystemen ist in der Regel eine Zugriffsberechtigungskontrolle erforderlich, um den Zugriff verschiedener Benutzer auf Schnittstellen einzuschränken. Fehlen einem Benutzer bestimmte Berechtigungen, kann er auf bestimmte Schnittstellen nicht zugreifen. In diesem Artikel wird das Waynboot-Mall-Projekt als Beispiel verwendet, um vorzustellen, wie gängige Back-End-Verwaltungssysteme das Berechtigungskontroll-Framework SpringSecurity einführen. Die Gliederung lautet wie folgt: waynboot-mall-Projektadresse: https://github.com/wayn111/waynboot-mall 1. Was ist SpringSecurity? SpringSecurity ist ein Open-Source-Projekt, das auf dem Spring-Framework basiert und darauf abzielt, leistungsstarke und flexible Sicherheit bereitzustellen für Java-Anwendungen.

Eine erweiterte Anleitung zur PHP-MVC-Architektur: Erweiterte Funktionen freischalten Eine erweiterte Anleitung zur PHP-MVC-Architektur: Erweiterte Funktionen freischalten Mar 03, 2024 am 09:23 AM

Die MVC-Architektur (Model-View-Controller) ist eines der beliebtesten Muster in der PHP-Entwicklung, da sie eine klare Struktur zum Organisieren von Code bietet und die Entwicklung von WEB-Anwendungen vereinfacht. Während die grundlegenden MVC-Prinzipien für die meisten Webanwendungen ausreichend sind, gibt es einige Einschränkungen für Anwendungen, die komplexe Daten verarbeiten oder erweiterte Funktionen implementieren müssen. Trennen der Modellschicht Das Trennen der Modellschicht ist eine gängige Technik in der fortgeschrittenen MVC-Architektur. Dabei wird eine Modellklasse in kleinere Unterklassen zerlegt, die sich jeweils auf eine bestimmte Funktionalität konzentrieren. Beispielsweise könnten Sie für eine E-Commerce-Anwendung die Hauptmodellklasse in ein Bestellmodell, ein Produktmodell und ein Kundenmodell zerlegen. Diese Trennung trägt dazu bei, die Wartbarkeit und Wiederverwendbarkeit des Codes zu verbessern. Verwenden Sie die Abhängigkeitsinjektion

See all articles