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;
}
}
js文件:$(“# system.site”).val()
需要完整的代码,大家去下载MyExam源码
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源码
相关文章推荐
- java系统国际化的配置
- Ubuntu系统(八)-Java环境配置
- JAVA_WEB Struts2学习:使用验证框架进行校验JSP页面元素 反编译工具的配置 Strtuts2 国际化学习
- win7/win8.1/win10系统下如何配置Java环境变量 Java环境变量的配置教程介绍
- centos7 系统下HADOOP和Java 的环境配置
- linux 系统下配置java环境变量
- 阿里云的CentOS系统配置java web环境
- 去哪网实习总结:windows下配置JavaWeb环境、开发helloworld、发布系统(附截图,绝对详细)(JavaWeb)
- JAVA 系统环境配置
- Log4J配置后, log4j:ERROR setFile(null,true) call failed. 报错:java.io.FileNotFoundException: /log/mytest2.log (系统找不到指定的路径。)
- Java配置-------JDK开发环境搭建及系统环境变量配置
- Ubuntu12.10 64位系统安装以及配置java、jdk环境变量
- centos7 系统下HADOOP和Java 的环境配置
- Java程序在内网的linux系统上启动报错(配置DNS后)
- Java WEB系统国际化经验总结
- 在linux系统中配置java环境变量的三种方法
- mac系统下配置Eclipse Java/C++ 开发环境
- JAVA与SAP系统的配置比较
- centos7 系统下HADOOP和Java 的环境配置
- Windows系统环境下Solr之Java实战(一)搭建solr服务器并配置IK分词