您的位置:首页 > 编程语言 > Java开发

java系统国际化的配置

2013-08-28 16:17 176 查看
首先写好资源文件:

message_en_US.properties

等等

springmvc -servlet.xml文件

<!-- 国际化操作 拦截器 -->

<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">

<property name="basename" value="message"/>

<property name="useCodeAsDefaultMessage" value="true"/>

</bean>

<bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">

<property name="paramName" value="siteLanguage" />

10. </bean>

11.

12. <bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver" />

13.

14. <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" p:order="1">

15. <property name="interceptors" ref="localeChangeInterceptor" />

16. </bean>

17. <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" p:order="2">

18. <property name="interceptors" ref="localeChangeInterceptor" />

</bean>

说明:该文件配置了springmvc自带的动态国际化,可以去网站搜索相关更多的信息,下面配置js文件国际化,加载个过滤器

Web.xml文件

<filter>

<filter-name>I18nFilter</filter-name>

<filter-class>com.exam.filter.I18nFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>I18nFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>解析说明:

com.exam.filter.I18nFilte类代码:

package com.exam.util;

import java.io.IOException;

import java.io.InputStream;

import java.util.ArrayList;

import java.util.Enumeration;

import java.util.Properties;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import org.springframework.context.support.ResourceBundleMessageSource;

import org.springframework.web.servlet.ModelAndView;

import org.springframework.web.servlet.i18n.SessionLocaleResolver;

import org.springframework.web.servlet.mvc.AbstractController;

public class I18n extends AbstractController{

protected ModelAndView handleRequestInternal(HttpServletRequest arg0,HttpServletResponse arg1)throws IOException, IllegalArgumentException, IllegalAccessException{

Properties prop = new Properties();

InputStream in = getClass().getResourceAsStream("/message_en_US.properties");

prop.load(in);

ArrayList<String> i18nList=new ArrayList<String>();

Enumeration<String> enu = (Enumeration<String>) prop.propertyNames();

while (enu.hasMoreElements()) {

String key = enu.nextElement();

i18nList.add(key);

}

HttpSession session =arg0.getSession();

session.setAttribute("i18nList", i18nList);

ModelAndView model=new ModelAndView();

//model.addObject("i18nList",i18nList);

return model;

}

}

前台使用

jsp页面用jstl国际化标签输出:<fmt:message key="system.site"/>

js文件:$(“# system.site”).val()

需要完整的代码,大家去下载MyExam源码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: