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

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

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

    blogjava's web log

    blogjava's web log
    ...

    jsf學習二(國際化)

    國際化(I18N)就是設計軟件應用,在不改變它們程序邏輯的前提下支持各種語言和區域
    本地化(L10N)就是設計軟件應用支持特定地區
    由于數據經過本地化,因此同一應用程序能在全世界使用
    當增加一種新的語言時,應用不需要重新編譯
    在顯示和文化相關的數據(例如日期或貨幣)時,格式應用遵循用戶的語言和區域
    文本內容(如狀態消息和組件標簽)不是硬編碼到應用程序中,而通常是從文本文件中動態提取的

    國際化的步驟

    創建一個包含應用程序默認語言的鍵/值對的文件
    ?文件命名格式:
    Filename_languagecode_CountryCode.properties
    例如:
    ApplicationResources_zh_CN.properties



    JSF 提供 <f:loadBundle> 標簽以加載資源包
    此標簽具有兩個屬性:basename 和 var
    basename 指定要加載的 properties 文件的名稱
    var屬性用來為該properties文件起一個別名





    < f:view >
    ????
    < f:loadBundle? basename ="message" ?vars ="msg" ? />
    ….
    ????
    < h:outputLabel? value ="#{msg.first}" ? />
    </ f:view >


    資源文件編譯

    native2ascii –encoding gb2312 messagesCN.properties? messages_zh_CN.properties




    一個登陸實現國際化

    后臺檢查登陸是否正確
    ??public?String?Login(string?userName,string?passWord)?{
    ??????
    if?(?UserName=="blog")?{
    ??????????
    return?"success";
    ??????}
    ?else?{
    ?????FacesContext?context?
    =?FacesContext.getCurrentInstance();
    ?????ResourceBundle?bundle?
    =?ResourceBundle.getBundle("messages",?context.getViewRoot().getLocale());
    ??????String?msg?
    =?"";
    ?????
    if?(?username==""?||?passWord=="")
    ?????????msg?
    =?bundle.getString("username_isnull");
    ??
    ????context.addMessage?(
    null,?new?FacesMessage(msg));
    ????
    return?"shibai";?

    ?}

    ??}


    前臺
    <f:loadBundle?basename="message"?var="msg"/>
    <html>
    ?
    <f:view>
    ?????
    <h:form>
    ??????
    <h:outputText?value="#{msg.login}"/>?<br/>
    ??????
    <h:messages?style="color:?blue"/><br/>
    ??????
    <h:inputText?id="username"?value="#{UserBean.userName}"
    ???????????????????????????required
    ="true">
    ???????????
    <f:validateLongRange?minimum="0"?maximum="20"/>
    ??????
    </h:inputText><br/><br/>


    ????
    <h:outputText?value="#{msg.password}"/>?<br/>
    ??????
    <h:messages?style="color:?blue"/><br/>
    ??????
    <h:inputText?id="pssword"?value="#{UserBean.passWord}"
    ???????????????????????????required
    ="true">
    ???????????
    <f:validateLongRange?minimum="0"?maximum="16"/>
    ??????
    </h:inputText><br/><br/>


    ?????
    <h:commandButton?value="#{msg.button_title}"?
    ??????????????????????????????????????action
    ="#{userBean.Login}"/>
    ???
    </h:form>
    ?
    </f:view>
    </html>



    posted on 2006-08-20 10:43 record java and net 閱讀(2362) 評論(1)  編輯  收藏 所屬分類: jsf學習

    評論

    # re: jsf學習二(國際化) 2007-08-24 14:37 牛人

    JSF不能實現完全國際化!  回復  更多評論   

    導航

    常用鏈接

    留言簿(44)

    新聞檔案

    2.動態語言

    3.工具箱

    9.文檔教程

    友情鏈接

    搜索

    最新評論

    主站蜘蛛池模板: 免费观看的a级毛片的网站| 99免费观看视频| 国产91在线免费| 亚洲精华液一二三产区| 免费无码一区二区三区蜜桃大| 亚洲一级毛片免费在线观看| 亚洲综合激情六月婷婷在线观看 | 日本亚洲色大成网站www久久| 无码 免费 国产在线观看91| 台湾一级毛片永久免费| 亚洲伊人久久精品| 最新仑乱免费视频| 亚洲色无码国产精品网站可下载 | 亚洲不卡无码av中文字幕| 亚洲最大福利视频网站| 免费A级毛片av无码| 中文字幕亚洲精品资源网| 久久国产免费福利永久| 亚洲日韩一区二区三区| 无码专区一va亚洲v专区在线| 高清免费久久午夜精品| 亚洲AV人人澡人人爽人人夜夜| 6080午夜一级毛片免费看 | 亚洲国产精品综合久久网络| 中文字幕永久免费| 亚洲资源在线视频| 国产色婷婷精品免费视频| 深夜久久AAAAA级毛片免费看| 亚洲大成色www永久网站| 久久99九九国产免费看小说| 国产亚洲精品第一综合| 久久国产亚洲观看| 日韩免费一级毛片| 野花香在线视频免费观看大全| 亚洲人成7777影视在线观看| 免费va人成视频网站全| 久久国产乱子免费精品| 亚洲一区二区三区高清在线观看 | 久久久亚洲裙底偷窥综合| 成人免费午夜视频| 在线观看免费视频一区|