對(duì)Struts實(shí)行國(guó)際化
(1)設(shè)置字符編碼
為了保證在同一JSP頁(yè)面能支持多種語(yǔ)言,可以將所有JSP頁(yè)面的字符編碼統(tǒng)一設(shè)置為"UTF-8"
<%@ page contentType="text/html;charset=UTF-8" language="java"%>
(2)對(duì)文本,按鈕,圖片國(guó)際化
(3)創(chuàng)建英文,中文資源文件
(4)對(duì)中文資源文件進(jìn)行編碼轉(zhuǎn)換
用JDK中的native2ascii工具對(duì)中文資源進(jìn)行轉(zhuǎn)換
native2ascii -encoding gb2312 applicaion_CN.properties application_CN.properties
(5)采用Servlet過(guò)濾器設(shè)置請(qǐng)求數(shù)據(jù)的字符編碼
添加如下類(lèi)SetCharacterEncodingFilter:
package com.yourcompany.struts;import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;public class SetCharacterEncodingFilter implements Filter {
public void init(FilterConfig arg0) throws ServletException {
}public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding("UTF-8");
chain.doFilter(request,response);}
public void destroy() {
}}
并在web.xml中添加如下設(shè)置:
<filter>
<filter-name>Character Encoding</filter-name>
<filter-class>com.yourcompany.struts.SetCharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>