<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    從制造到創造
    軟件工程師成長之路
    posts - 292,  comments - 96,  trackbacks - 0
    效果:


    文件清單:
    序號 文件名
    1 ChangeLocaleAction.java
    2 ChangeLocaleForm.java
    3 struts-config.xml
    4 index.jsp
    5 application_en_US.properties
    6 application_zh_CN.properties
    7 application_zh_TW.properties

    清單1:
    package com.coderdream.struts.action;

    import java.util.Locale;

    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    import org.apache.struts.Globals;
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;

    import com.coderdream.struts.form.ChangeLocaleForm;

    public class ChangeLocaleAction extends Action {

        
    public ActionForward execute(ActionMapping mapping, ActionForm form,
                HttpServletRequest request, HttpServletResponse response) {
            ChangeLocaleForm clForm 
    = (ChangeLocaleForm)form;
            String language 
    = clForm.getLanguage();
            
    if (language != null) {
                Locale locale;
                
    if (language.equalsIgnoreCase("en")) {
                    locale 
    = Locale.US;
                    request.getSession().setAttribute(
                            Globals.LOCALE_KEY, locale);
                } 
    else if (language.equalsIgnoreCase("tw")) {
                    locale 
    = Locale.TAIWAN;
                    request.getSession().setAttribute(
                            Globals.LOCALE_KEY, locale);
                } 
    else {
                    locale 
    = Locale.CHINA;
                    request.getSession().setAttribute(
                            Globals.LOCALE_KEY, locale);
                }
            }
            
            
    return mapping.findForward("success");
        }
             
    }

    清單2:
    package com.coderdream.struts.form;

    import org.apache.struts.action.ActionForm;


    /**
     * 
     * description:
     * 
     * 
    @author 
     *
     
    */
    public class ChangeLocaleForm extends ActionForm{
        
        
    public ChangeLocaleForm() {
            
    super();
        }

        
    private String language;

        
    public String getLanguage() {
            
    return language;
        }

        
    public void setLanguage(String language) {
            
    this.language = language;
        }
    }

    清單3:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">

    <struts-config>
        
    <data-sources />
        
    <form-beans>
            
    <form-bean name="ChangeLocaleForm"
                type
    ="com.coderdream.struts.form.ChangeLocaleForm" />
        
    </form-beans>

        
    <action-mappings>

            
    <action name="ChangeLocaleForm" path="/ChangeLocale"
                scope
    ="request"
                type
    ="com.coderdream.struts.action.ChangeLocaleAction"
                validate
    ="false">
                
    <forward name="success" path="/index.jsp" />
            
    </action>
        
    </action-mappings>

        
    <message-resources key="application"
            parameter
    ="com.coderdream.struts.resources.application" />
    </struts-config>

    清單4:
    <%@ page contentType="text/html; charset=UTF-8"%>
    <%@page import="org.apache.struts.Globals"%>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>

    <html:html>
    <head>
        
    <title>多語言測試</title>
        
    <meta http-equiv="pragma" content="no-cache">
        
    <meta http-equiv="cache-control" content="no-cache">
        
    <meta http-equiv="expires" content="0">
        
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        
    <meta http-equiv="description" content="This is my page">
    </head>
    <script language="javascript"> 
        function onLanguage(){
            var language 
    = document.getElementsByName("language")[0].value;
            
    if(language!=null&&language!=""){         
              document.forms[
    0].submit();
                }
              }   
        
    </script>

    <body>
        
    <html:form action="ChangeLocale.do">
            
    <html:select property="language" styleId="height:18"
                onchange
    ="onLanguage();">
                
    <option value="" title="">
                    
    --
                    
    <bean:message bundle="application" key="global.select.language" />
                    
    --
                
    </option>
                
    <option value="en" title="English">
                    English
                
    </option>
                
    <option value="cn" title="簡體中文">
                    簡體中文
                
    </option>
                
    <option value="tw" title="繁體中文">
                    繁體中文
                
    </option>
            
    </html:select>
        
    </html:form>
        
    <br>
        
    <br>
        
    <br>
        
    <bean:message bundle="application" key="global.select.test" />
        
    <%=request.getSession().getAttribute(Globals.LOCALE_KEY)%>

    </body>
    </html:html>

    清單5:
    #Generated by ResourceBundle Editor (http://eclipse-rbe.sourceforge.net)

    global.select.language 
    = Language
    global.select.test     
    = Test

    清單6:
    #Generated by ResourceBundle Editor (http://eclipse-rbe.sourceforge.net)
    #BizException

    global.select.language = \u8BED\u8A00
    global.select.test     = \u6D4B\u8BD5

    清單7:
    #Generated by ResourceBundle Editor (http://eclipse-rbe.sourceforge.net)

    global.select.language = \u8A9E\u8A00
    global.select.test     = \u6E2C\u8A66

    此功能的關鍵是在Action里面將頁面傳過來的language信息得到,然后根據信息設置Locale,然后將新的Locale放到Session中。

    源代碼:點擊下載
    posted on 2008-05-14 18:20 CoderDream 閱讀(1017) 評論(0)  編輯  收藏 所屬分類: 經驗點滴

    <2008年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(9)

    我參與的團隊

    隨筆分類(245)

    隨筆檔案(239)

    文章分類(3)

    文章檔案(3)

    收藏夾(576)

    友情鏈接

    搜索

    •  

    積分與排名

    • 積分 - 457951
    • 排名 - 114

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 中文字幕亚洲色图| 在线观看亚洲精品福利片| 亚洲国产日韩一区高清在线| 国产激情久久久久影院老熟女免费| 国产网站免费观看| 无人在线观看免费高清| 亚洲国产精品无码av| 十八禁在线观看视频播放免费| 亚洲综合AV在线在线播放| 拍拍拍无挡免费视频网站| 亚洲va久久久噜噜噜久久男同| a级成人毛片免费视频高清| 亚洲精品乱码久久久久66| 日韩免费视频一区二区| 久久久亚洲AV波多野结衣| 国产福利在线免费| 久久精品国产亚洲AV电影网| 在线观看永久免费视频网站| 日韩在线观看免费完整版视频| 亚洲中文久久精品无码| 无人在线观看免费高清| 亚洲中文无码永久免费| 亚洲国产成人乱码精品女人久久久不卡 | 亚洲av永久无码精品网址| 啊灬啊灬别停啊灬用力啊免费看| 一级黄色免费网站| 亚洲一区中文字幕久久| 在线精品免费视频| 免费在线黄色电影| 亚洲综合激情五月丁香六月| 狠狠亚洲狠狠欧洲2019| 亚欧人成精品免费观看| 精品亚洲视频在线| 久久久久久亚洲精品| 日韩免费无码一区二区视频| 久久久WWW成人免费精品| 亚洲午夜电影在线观看高清| 亚洲国产婷婷综合在线精品| 18禁止看的免费污网站| 免费人成动漫在线播放r18 | 美女隐私免费视频看|