struts 國際化(yunchat-學習筆記)
字元編碼格式的轉換。
Resources Bundle 的配置。
Struts使用繫結資源的方式
[@more@]1. 1 .處理HTTP請求資料編碼
a) 在處理請求前先設定HttpServletRequest物件的字元編碼:
request.setCharacterEncoding(“gb2312”);
b) 2. 對使用者輸入的請求資料進行編碼轉換.
new String (data.getBytes(“ISO-8859-1”), “GB2312”);
2. 3. 處理資料庫資料編碼使用編碼轉換.
3. 4 . 處理XML配置檔案編碼.;
4. 5. 處理響應結果編碼.
a) a.在Servlet中.
Response.setContentType(“text/html;charset=GB2312”);
b) b.在JSP中.
c) c.在html中.
HTTP-EQUIV = “Content Type”CONTENT=”text/html;charset=GB2312”>
LOCALE類
Locale usLocale = new Locale(“en”, “US”);
Locale enLocale = new Locale(“ch”, “CH”);
Locale jpLocale = Locale.JAPAN;
JAVA虛擬機器在啟動時會查詢作業系統,為執行環境設定預設的Locale. Java程式可以呼叫java.util.Locale類的getLocale()來獲得預設Locale getDefault();
HttpServletRequst物件包含下面兩方法: public java.util.Locale getLocale();
public java.util.Enumeration getLocales();
這兩方法都會訪問Http請求中的Accept-Language頭資訊.
Struts 中訪問Locale物件.. 由於WEB伺服器並不和客戶瀏覽器保持長期的連線,因此沒個傳送到Web容器的Http請求中都包含了Locale資訊. Struts配置檔案中的
在該方法中會判斷是否儲存在session中.
Struts Action基類中 可使用getLocale()方法 在WEB應用的其他地方可以直接使用R equestUtils類的getUserLocale()方法.
Strut類中的Resources bundle, struts類沒有直接使用JAVA語言提供的ResourceBundle類.
org.apache.struts.util.MessageResources
org.apache.struts.util.PropertyMessageResources
這兩個類具有ResourceBundle相似功能PropertyMessageResources是MessageResources子類. 另外可以使用MessageResourcesFactory建立ResourcesFactory在該類中包含createResources方法中建立PropertyMessageResources物件 但在配置檔案中一個元素下卻只能配置一個資源元素… 可以考慮重些 該方法…. 及重寫PropertyMessageResources的相關方法是它可以支援多檔案的配置.
如下:
通常:
Struts處理請求的時候,會依次搜尋資原始檔. 如: local為中文時候.
它會依次搜尋_ch_CN, _ch, default .
預設資原始檔名為:application.properties,但實際配置時使用如: tilesResources 它也會預設依次搜尋的。
Struts應用,子應用模組,Resource Bundle和資原始檔之間的關係:
ü 一個Struts應用可以有多個子應用模組,必須有且只有一個預設子應用模組.
ü 一個子應用模組可以有多個Resource Bundle, 必須有且只有一個預設Resource Bundle.
ü 一個Resource Bundle可以有多個資原始檔, 必須有且只有一個預設資原始檔.
對資原始檔的編碼轉換:
JDK中提供了 native2ascii命令:
native2ascii –encoding gb2312 fileA fileB
另外: 不必在每個JSP或Servlet中設定HTTP請求的字元編碼
可以在Servlet過濾器中設定編碼 SetCharacterEncodingFilter;
......
......
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/118026/viewspace-805130/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Tiles框架(yunchat-學習筆記)框架筆記
- Android學習筆記-國際化Android筆記
- Struts學習筆記zz筆記
- Struts框架的國際化框架
- struts 日誌包(學習筆記)筆記
- struts國際化程式嘗試
- struts2學習筆記系列(一)筆記
- Struts2教程10:國際化
- 強化學習筆記強化學習筆記
- 風中葉之struts2學習筆記一筆記
- 強化學習-學習筆記3 | 策略學習強化學習筆記
- 強化學習-學習筆記5 | AlphaGo強化學習筆記Go
- 斜率優化學習筆記優化筆記
- 元件化學習筆記 一元件化筆記
- mysql優化學習筆記MySql優化筆記
- 最佳化學習筆記筆記
- Struts2學習筆記(一)初識Strut2筆記
- 強化學習-學習筆記2 | 價值學習強化學習筆記
- 強化學習-學習筆記13 | 多智慧體強化學習強化學習筆記智慧體
- vue+VueI18n 專案國際化 筆記Vue筆記
- oracle 學習筆記---效能優化學習(1)Oracle筆記優化
- java學習之路----java類庫---程式國際化Java
- 【學習筆記】初次學習斜率最佳化的程式碼及筆記筆記
- KVM虛擬化學習筆記筆記
- Mysql 優化(學習筆記二十)MySql優化筆記
- Redis學習筆記--Redis持久化Redis筆記持久化
- 學習筆記:深度學習中的正則化筆記深度學習
- 強化學習-學習筆記15 | 連續控制強化學習筆記
- 強化學習-學習筆記4 | Actor-Critic強化學習筆記
- 強化學習-學習筆記10 | 經驗回放強化學習筆記
- 強化學習-學習筆記1 | 基礎概念強化學習筆記
- spring4筆記----spring4國際化Spring筆記
- 從AdventureWorks學習資料庫建模——國際化資料庫
- 20160502-struts2入門--國際化
- numpy的學習筆記\pandas學習筆記筆記
- struts2學習筆記–執行緒安全問題小結筆記執行緒
- struts學習
- MySQL優化學習筆記之索引MySql優化筆記索引