欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
JSF的中文化與國際化的簡(jiǎn)便方法

JSF的中文化與國際化的簡(jiǎn)便方法

http://tech.163.com 2006-01-25 10:17:45 來(lái)源: blogjava  網(wǎng)友評論1 條 論壇
 
  對于各種不同的Java應用,國際化的問(wèn)題總會(huì )給我們非英文用戶(hù)帶來(lái)一些麻煩,在JSF中也一樣,在實(shí)踐中碰到了一系列不容易解決的問(wèn)題,最終解決的大部分的問(wèn)題,也完成了一個(gè)可以運行的小項目,我把我的一些經(jīng)驗拿出來(lái)和大家分享一下,希望能讓大家在這些地方少走一些彎路。

  Java中的國際化是由 java.util.Locale 類(lèi)支持的,中文對應的代碼是“zh”,所以我們要在JSF中使用中文的話(huà),需要在我們的 faces-config.xml 中做一些簡(jiǎn)單的配置了,加入對中文的支持,當然如果需要支持更多的語(yǔ)言的話(huà),多加幾個(gè)<supported-locale>就可以了。

<faces-config>
<application>
<message-bundle>resource</message-bundle>
<locale-config>
<default-locale>zh</default-locale>
<supported-locale>en</supported-locale>
</locale-config>
</application>
</faces-config>

  這里定義了一個(gè)<message-bundle>resource</message-bundle>指的是資源文件所在的位置和文件名,這里我們把資源文件放在source根目錄下名稱(chēng)為resource.properties,這個(gè)是英文的資源文件,另外一個(gè)存放中文信息的資源文件名為resource_zh.properties。

  接下來(lái),我們可以在這些資源文件中加入我們需要的資源信息。推薦大家一個(gè)Eclipse的插件來(lái)寫(xiě)我們的資源文件,這個(gè)插件叫做Eclipse ResourceBundle Editor Plugin,我們可以很方便的在里面寫(xiě)中文信息,它會(huì )自動(dòng)的轉換為UTF-8編碼的信息,大家可以到這個(gè)地方去下載這個(gè)插件http://resourcebundleeditor.com/ess/rbe/home.do。使用起來(lái)很簡(jiǎn)單,這里就不再多說(shuō)了。

  在JSP文件中使用這些資源之前,需要加入一下這些東西:

<%@ page contentType="text/html;charset=utf-8"%>
  在HTML的head中加入:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  下面,我們就可以在我們的頁(yè)面中綁定并使用這些資源信息:

  使用之前要加載一下資源文件,使用這個(gè)Tag:

<f:loadBundle basename="resource" var="messages"/> 
  我在這里給消息起了個(gè)別名messages,以后就可以通過(guò)這個(gè)別名來(lái)使用資源文件。

  比如我使用 <h:outputText> 來(lái)引用資源信息schedule.label.starttime可以這么用。

<h:outputText value="#{messages[‘schedule.label.starttime‘]}"/>
  是不是可以用了呢?不過(guò)別急,用是能用,如果你在 JSF 中使用了 Tiles 的話(huà),就會(huì )出現一些問(wèn)題了,我們如果使用了 <h:inputText> 這樣的輸入框的話(huà),當你輸入中文并提交,你就會(huì )發(fā)現,你輸入的文字變成這樣的了“\u5DF2\u5B8C\u6210”,曾經(jīng)為了這個(gè)問(wèn)題,找解決方案花了我三周的時(shí)間。首先把問(wèn)題定位到 Tiles 上,因為如果不使用 Tiles 的話(huà),是沒(méi)有這個(gè)問(wèn)題的,但是 Tiles 又不能不用的,最后發(fā)現其實(shí)很容易的,只要在 <f:view> 中加上 locale=”zh” 就可以了,如果需要的話(huà),可以把這個(gè)屬性動(dòng)態(tài)化,滿(mǎn)足國際化的需要,就像這樣<f:view locale="#{userProfile.locale}">。

  這樣的話(huà),一切都正常了,使用 Tiles 也沒(méi)有問(wèn)題的。

  今天有朋友問(wèn)了我關(guān)于 JavaScript 中的中文亂碼問(wèn)題,我在我的JSP中找了一段代碼拿出來(lái)看看:

<h:commandLink id="delete" action=".." onclick="if (!confirm(‘#{messages[‘system.msg.confirmdel‘]}‘)) return false;">
  這樣的話(huà),里面的中文是可以正常顯示的,下面我給大家一些建議吧,希望對大家有一些幫助。

  1. 所有文字信息全部寫(xiě)在資源文件中,通過(guò)引用其別名來(lái)使用這些信息;

  2. 所有的中文要轉換成 UTF-8 編碼,可以使用Eclipse ResourceBundle Editor Plugin來(lái)解決;
 
  3. 頁(yè)面編碼方式定義成 UTF-8 ,不要使用其默認值。
 
  當然,這只是我在使用中積累的一點(diǎn)小小的經(jīng)驗了,希望能對大家有一點(diǎn)幫助,如果大家發(fā)現有什么不正確就請賜教,如果更好的解決方案,也拿出來(lái)和大家分享吧,因為我們的分享可能會(huì )給大家節省更多的時(shí)間。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
"struts中文問(wèn)題","struts國際化問(wèn)題"的終極解決方案
使用eclipse進(jìn)行可視化jsf開(kāi)發(fā)
Struts2支持的結果類(lèi)型
Struts1.x系列教程(13):國際化
Error executing aapt: Return code
Eclipse 相關(guān)技術(shù)面試題
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久