Struts 국제 화 처리 의 사고방식

4751 단어 jspWebxmlstrutsIE
Struts 국제 화 처리 의 사고방식
                               

 、Struts    
    Struts         MVC Web Framework。       struts        。         ,    Struts    。Web         3      。  、jsp     /  ;  、          ;  、DB      。        jsp     /    。

 、        
   Struts jsp      (      ,    )     ,           。      ,         :1、   web.xml  ActionServlet   ;2、      ;3、  JSP       ;4、 JSP             。
1、  web.xml  ActionServlet   
<servlet>
  <servlet-name>action</servlet-name>
  <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>   
  <init-param>
    <param-name>config</param-name>
    <param-value>/WEB-INF/struts-config.xml</param-value>
  </init-param>
  <init-param>
    <param-name>application</param-name>
    <param-value>ApplicationResources</param-value> <!--         -->
  </init-param>
  <load-on-startup>2</load-on-startup>
</servlet>

2、      
 /WEB-INF/classes    UTF-8     。        “ - ”    。 JSP                  。        ApplicationResources,           (  e ,    ,    )
ApplicationResources.properties :       。                    ,             。
ApplicationResources_zh_CN.properties:        。
ApplicationResources_zh_TW.properties:        。
        :       _  _  .properties。          %JAVA_HONE%/BIN/native2ascii.exe      。               (http://java.sun.com/products/jilkit/      Internationalization Java Internationalization and Localization Toolkit     )。       ,        %JAVA_HONE%/BIN/native2ascii.exe          。
2.1     
//ApplicationResources.properties ;      ,           。
label.username=USERNAME :
label.password=PASSWORD :

//ApplicationResources_zh_CN.bak ;         。         。              UTF-8
label.username=    :
label.password=      :

//ApplicationResources_zh_TW.bak :          。         。              UTF-8,         。
label.username=ノめ?W :
label.password=ノめ?W :

2.2       ,         UTF-8     
native2ascii -encoding gb2312 ApplicationResources_zh_CN.bak ApplicationResources_zh_CN.properties
native2ascii -encoding big5 Applica tionResources_zh_TW.bak ApplicationResources_zh_TW.properties

3、  JSP       
  JSP      UTF-8。   JSP  ,        (         ,            ,              )
<%@ page contentType="text/html;charset=UTF-8"%>

4、 JSP             。
 JSP               <bean:message />strus bean tag    message  。       

<table>
  <tr>
    <td align="right"><bean:message key="label.username" /></td>   
  </tr>
  <tr>
    <td align="right"><bean:message key="label.password" /></td>
  </tr>
</table>

  ,          ,     IE      zh_CN  ,    
   :
    :

      IE    zh_TW  ,    
   :
   :

   IE   ->Internet  ->     ,   ,  IE   。

 、        。
         ,         Filter    。       ,        。    web.xml     Filter。                     。
3.1   Filter。       。
package com.webapps.commons;

import java.io.*;
import javax.servlet.*;

public class CharsetEncodingFilter implements Filter{
  private FilterConfig config = null;
  private String defaultEncode = "UTF-8";

  public void init(FilterConfig config) throws ServletException {
    this.config = config;
    if(config.getInitParameter("Charset")!=null){
        defaultEncode=config.getInitParameter("Charset");
    }
  }

  public void destroy() {
    this.config = null;
  }

  public void doFilter(ServletRequest request, ServletResponse response,
                       FilterChain chain) throws IOException, ServletException {
    ServletRequest srequest=request;
    srequest.setCharacterEncoding(defaultEncode);
    chain.doFilter(srequest,response);
  }
}

3.2  web.xml       Filter
<filter>
  <filter-name>Character Encoding</filter-name>
  <filter-class>com.webapps.commons.CharsetEncodingFilter</filter-class>
</filter>
<filter-mapping>
  <filter-name>Character Encoding</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

 、  
                , DB      。

좋은 웹페이지 즐겨찾기