春季MVC阿拉伯语 [英] Spring MVC Arabic Language

查看:103
本文介绍了春季MVC阿拉伯语的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在开发应支持英语&的spring mvc应用程序.阿拉伯.我已经按照spring参考文档中的说明配置了该应用程序,并且语言环境的切换工作正常.但是,资源包中的阿拉伯语消息显示为垃圾字符.编码设置为UTF-8,并且可以正常工作.我也尝试运行native2ascii工具,将messages_ar.properties文件转换为unicode.

I am developing a spring mvc application which should support English & Arabic. I've configured the application as mentioned in the spring reference documents and the switching of locale is working perfectly. However the arabic messages in the resource bundle is been shown as junk characters. The encoding is set as UTF-8 and it is working properly. Also I tried running the native2ascii tool for converting the messages_ar.properties file to unicode.

没有任何效果.任何帮助将不胜感激.

Nothing works. Any help would be much appreciated.

web.xml(部分)

web.xml (partial)

<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<web-app version="2.4"...>

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath*:META-INF/spring/applicationContext*.xml</param-value>
</context-param>

<filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
        <param-name>forceEncoding</param-name>
        <param-value>true</param-value>
    </init-param>
</filter>

<filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<!-- Handles all requests into the application -->
<servlet>
    <servlet-name>Spring MVC Dispatcher Servlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            /WEB-INF/spring/mvc-config.xml
        </param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

mvc-config.xml(部分)

mvc-config.xml (partial)

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<context:component-scan base-package="net.omnsoq.classified.controller" use-default-filters="false">
    <context:include-filter expression="org.springframework.stereotype.Controller" type="annotation" />
</context:component-scan>

<!-- Configures support for @Controllers -->
<mvc:annotation-driven />

<!-- Resolves view names to protected .jsp resources within the /WEB-INF/views directory -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
    <property name="prefix" value="/WEB-INF/views/" />
    <property name="suffix" value=".jsp" />
</bean>

<bean class="org.springframework.context.support.ReloadableResourceBundleMessageSource" id="messageSource"
    p:basenames="WEB-INF/i18n/messages,WEB-INF/i18n/application" p:fallbackToSystemLocale="false" />

<!-- store preferred language configuration in a cookie -->
<bean class="org.springframework.web.servlet.i18n.CookieLocaleResolver" id="localeResolver" p:cookieName="locale" />


<mvc:interceptors>
    <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" p:paramName="lang" />
</mvc:interceptors>

jsp代码

<%@ taglib uri="http://www.springframework.org/tags" prefix="spring" %>
...
<%@page contentType="text/html;charset=UTF-8" %>
...
<spring:message code="nav.label.myaccount" />

推荐答案

我找到了解决方案.因此,我只想分享它,这样可能会对其他人有所帮助.

I found the solution. So I just want to share it so that it might be helpful to someone else.

我将messageSource的fileEncodings和defaultEncoding属性设置为UTF-8.

I set the fileEncodings and defaultEncoding properties to UTF-8 for the messageSource.

<bean class="org.springframework.context.support.ReloadableResourceBundleMessageSource" id="messageSource"
    p:basenames="WEB-INF/i18n/messages,WEB-INF/i18n/application" p:fallbackToSystemLocale="false" p:fileEncodings="UTF-8"
    p:defaultEncoding="UTF-8" />

这篇关于春季MVC阿拉伯语的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆