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

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

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

    Java學(xué)習(xí)

    java,spring,structs,hibernate,jsf,ireport,jfreechart,jasperreport,tomcat,jboss -----本博客已經(jīng)搬家了,新的地址是 http://www.javaly.cn 如果有對文章有任何疑問或者有任何不懂的地方,歡迎到www.javaly.cn (Java樂園)指出,我會盡力幫助解決。一起進步

     

    JSF全面理解之消息處理

    JSF里怎樣進行消息處理呢?本文就此介紹一下JSF的消息處理過程。


    JSF的消息處理主要圍繞著javax.faces.application.FacesMessage,javax.faces.context.FacesContext,java.util.Locale,h:message,h:messages進行。

    javax.faces.application.FacesMessage:JSF消息定義。
    javax.faces.context.FacesContext:JSF 具有TheadLocale屬性的容器。
    java.util.Locale:JSF通過它來作多語言支持了。
    h:message/h:messages:用來在JSP里顯示JSF消息的標(biāo)簽了。

    JSF消息的添加:
    JSF里添加JSF消息只需要簡單地調(diào)用FacesContext.addMessage即可。這個方法可以把指定的消息注冊到facesContext里,之后便可在JSP里加以顯示。
    facesContext.addMessage(clientId, FacesMessage);
    clientId:與該消息相關(guān)聯(lián)的組件ID,未指定的時候,為全局消息
    FacesMessage:JSF消息體定義。它有3個屬性:
    1)     FacesMessage.Severity:消息的級別。可以為FacesMessage.SEVERITY_INFO(一般信息), FacesMessage.SEVERITY_WARNING(警告),F(xiàn)acesMessage.SEVERITY_ERROR(錯誤), FacesMessage.SEVERITY_FATAL(致命錯誤)。
    2)    消息概要
    3)    消息詳細內(nèi)容
    使用例:
    FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR,
                            summary,
                            detail);
    FacesContext.getInstance().addMessage(clientId, msg);

    JSF消息的顯示:
    JSF消息的顯示就更簡單了,只需在JSP里調(diào)用h:message或h:messages即可。
    例:
    <h:messages globalOnly="true" styleClass="error" showSummary="" showDetail="" layout="table" />
    globalOnly:為true時,只顯示全局消息。
    showSummary:是否顯示消息概要。
    showDetail:是否顯示消息詳細。
    其他:請查看相應(yīng)的資料,這里就不做介紹了。

    <h:message for="username" showSummary="" showDetail=""></h:message>
    for:跟消息綁定的組件ID。

    上面簡單地介紹了如何添加,以及如何在畫面里顯示JSF消息。但如何通過資源文件顯示定義的消息呢?

    下面我們從下面兩方面來介紹:
    1,通過JSF message-bundle定義的資源文件配置消息
    2,在自定義的資源文件里配置消息

    通過JSF message-bundle定義的資源文件配置消息
    在faces-config.xml里加上類似如下定義:
    <faces-config>
    <application>
      <message-bundle>Messages</message-bundle>
      <locale-config>
       <default-locale>en</default-locale>
       <supported-locale>kr</supported-locale>
       <supported-locale>ja</supported-locale>
       <supported-locale>zh</supported-locale>
      </locale-config>
    </application>

    ...
    </faces-config>

    然 后,為message-bundle Messages分別定義各自的配置文件:比如英文為Messages_en.properties,韓文為 Messages_kr.properties,日文為Messages_ja.properties,中文為 Messages_zh.properties。

    定義消息:
    key=message value … {0}…{1}..
    定義好之后,便可以通過
    Locale locale = facesContext.getViewRoot().getLocale()

    取得用戶的語言配置;
    String bundleName = facesContext.getApplication().getMessageBundle();
    String messageBundle = ResourceBundle.getBundle( bundleName, locale,
                            Thread.currentThread().getContextClassLoader() );

    取得定義好的message-bundle,余下的操作就是從ResourceBundle里取出消息(請參考ResourceBundle相關(guān)資料),new 一個FacesMessage,請參考上面的說明。

    使用自定義資源文件消息,做法同上,這里也不做介紹了。

    posted on 2008-10-10 08:53 找個美女做老婆 閱讀(2297) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     

    導(dǎo)航

    統(tǒng)計

    公告

    本blog已經(jīng)搬到新家了, 新家:www.javaly.cn
     http://www.javaly.cn

    常用鏈接

    留言簿(6)

    隨筆檔案

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲国产精品嫩草影院在线观看| 成年女人永久免费观看片| 亚洲精品第一国产综合精品99| 色噜噜亚洲男人的天堂| 亚洲毛片免费视频| 亚洲天堂视频在线观看| 国产真人无码作爱视频免费 | 在线观看H网址免费入口| 久久精品国产亚洲AV麻豆王友容| 在线观看免费黄色网址| 亚洲国产AV无码专区亚洲AV| A级毛片高清免费视频在线播放| 国产亚洲一区二区手机在线观看| 国产一级a毛一级a看免费人娇| 亚洲午夜久久久久久噜噜噜| 色播在线永久免费视频网站| 亚洲妇熟XXXX妇色黄| 久久免费国产视频| 亚洲成人福利网站| 日韩吃奶摸下AA片免费观看| 亚洲欧好州第一的日产suv| 国产麻豆免费观看91| 免费精品久久久久久中文字幕| 亚洲日韩国产精品乱| 国产精成人品日日拍夜夜免费| 337p日本欧洲亚洲大胆色噜噜| 免费人成网站在线观看10分钟| 亚洲乱码av中文一区二区| 亚洲乱码国产一区网址| 精品国产免费一区二区三区香蕉| 亚洲综合色丁香麻豆| 免费特级黄毛片在线成人观看| 日韩大片在线永久免费观看网站| 亚洲精品高清无码视频| 99热这里只有精品6免费| 亚洲永久在线观看| 精品国产日韩亚洲一区| 中文字幕在线免费观看| 亚洲国产美女精品久久久| 国产亚洲精品线观看动态图| 亚洲精品视频免费在线观看|