J2EE Web組件中中文及相關(guān)的問題是什么,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
巴中ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!J2EE Web組件中中文及相關(guān)的問題
1、 國際化XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />
在前面第五小節(jié)中的form.JSP里,也許臺灣省的客戶更喜歡
我們首先在webappWEB-INFclasses中創(chuàng)建三個區(qū)域相關(guān)的資源文件。中文簡體版:
#LocalStrings_zh_CN.properties
page.title=國際化
form.label=請輸入你的姓名
form.button=提交
中文繁體版:
#LocalStrings_zh_TW.properties
page.title=國際化
form.label=請輸入您的姓名
form.button=提交
英文版:
#LocalStrings_tw.properties
page.title=internationalization
form.label=Please enter your name
form.button=submit
LocalStrings_zh_CN.properties、LocalStrings_zh_TW.properties和LocalStrings_tw.properties這三個文件均以系統(tǒng)缺省的編碼方式保存。form.jsp改成:
<%@ page="" contenttype="text/html;charset=utf-8">
<%@ page="" import="beans.LocaleStrings">
<%localstrings lss="new">
beans.LocalStrings的源文件如下:
package beans;
import Java.util.ResourceBundle;
import java.io.UnsupportedEncodingException;
import java.util.Locale;
public class LocalStrings
{
protected ResourceBundle rb;
protected boolean encoded;
public LocalStrings(String baseName, Locale locale)
{
this.rb = ResourceBundle.getBundle(baseName, locale);
if(locale.getCountry().equals("CN") || locale.getCountry().equals("TW"))
encoded = true;
}
public String getString(String key)
{
String value = rb.getString(key);
if(encoded)
{
try
{
byte bs[] = value.getBytes("ISO-8859-1");
return new String(bs, "GBK");
}
catch(UnsupportedEncodingException uee)
{
return value;
}
}
return value;
}
}
從瀏覽器訪問form.jsp,我們應該看到正確的輸出,然后通過瀏覽的Inte.NET選項,將瀏覽器的語言設置成“中文(臺灣)[zh-tw]”,再訪問form.jsp,我們就能看到繁體字的提示信息了;再將瀏覽器語言設置成“英語(美國)[en-us]”,再訪問form.jsp。為什么要用LocalStrings到重新編碼這些字符串呢,查看ResourceBundle的源程序可以發(fā)現(xiàn),它讀取文件中時,并沒有對字符串進行編碼,所以我們不得不在LocalStrings中對使用正確的編碼對這些區(qū)域相關(guān)的字符串編碼。
2、 一些建議
我們用J2EE(Java 2 Enterprise Edition/ Java 2 Platform, Enterprise Edition,Java 2企業(yè)版)開發(fā)的企業(yè)應用程序,可能在一些支持J2EE規(guī)范的服務器之間移植,而這些服務器的平臺也可能不同。我們的客戶的操作系統(tǒng)或所使用的瀏覽器,也有可能不同,所以我們應努力遵循一些建議:
l 從請求頭中判斷出用戶的操作系統(tǒng)、瀏覽器和所使用的語言,而用適當?shù)姆椒ㄟM行相應的響應頭中的charset的設置。
l 盡量不在servlet中使用含非英文字符的常量字符串。
l 對于JSP文件,只要頁面中存在不被服務器忽略的含非英文字符的常量字符串,就應該對page指令中的pageEncoding屬性進行相應的設置。
l 使用過濾器來設置通過
ServletRequest.setCharaterEncoding(String encoding);
來設置請求實體的編碼,而不是在每個JSP或Servlet中設置。拋棄在Servlet設置content-Type的習慣,讓過濾器根據(jù)不同的資源和用戶對象通過
ServletResponse.setContentyType(String type);
來設置。
l 盡量使用UTF-8作編碼,而不是GBK或GB2312。
l 充分考濾到底層數(shù)據(jù)庫所使用的編碼,它可能在應用程序的移植中帶來麻煩。
l 不能簡單有效地判斷出用戶瀏覽器編碼提交的數(shù)據(jù)所使用的編碼,是程序員的一大遺憾,如果w3c對現(xiàn)有的標準進行擴展,修改form元素的enctype,讓這個屬性也完全兼容MIME的charset,Web應用程序的開發(fā),又少去了一些麻煩。
附錄A. 所有的實驗,環(huán)境配置如下:
l 操作系統(tǒng) MS windows 2000 Server
l 區(qū)域設置 中文(中國)
l 系統(tǒng)語言 中文(簡體) 默認
l 瀏覽器 Microsoft Internet Explorer 6.0b
l Java虛擬機 J2SDK 1.4.0-b92
l Java服務器 apache tomcat 4.0.4
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設公司行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。
標題名稱:J2EEWeb組件中中文及相關(guān)的問題是什么-創(chuàng)新互聯(lián)
文章位置:http://aaarwkj.com/article22/ddodjc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、App開發(fā)、品牌網(wǎng)站制作、動態(tài)網(wǎng)站、服務器托管、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容