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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Struts學習筆記zz筆記
- struts2 國際化(本地化)
- 【防忘筆記】Spring+Struts2古董框架學習筆記Spring框架
- Struts2學習筆記(一)初識Strut2筆記
- 強化學習筆記強化學習筆記
- 強化學習-學習筆記3 | 策略學習強化學習筆記
- 強化學習-學習筆記5 | AlphaGo強化學習筆記Go
- 斜率優化學習筆記優化筆記
- 強化學習-學習筆記2 | 價值學習強化學習筆記
- 強化學習-學習筆記12 | Dueling Network強化學習筆記
- 強化學習-學習筆記13 | 多智慧體強化學習強化學習筆記智慧體
- 【學習筆記】初次學習斜率最佳化的程式碼及筆記筆記
- Mysql 優化(學習筆記二十)MySql優化筆記
- 學習筆記:深度學習中的正則化筆記深度學習
- 強化學習-學習筆記15 | 連續控制強化學習筆記
- 強化學習-學習筆記8 | Q-learning強化學習筆記
- 強化學習-學習筆記10 | 經驗回放強化學習筆記
- 強化學習-學習筆記1 | 基礎概念強化學習筆記
- 強化學習-學習筆記4 | Actor-Critic強化學習筆記
- numpy的學習筆記\pandas學習筆記筆記
- MySQL優化學習筆記之explainMySql優化筆記AI
- MySQL優化學習筆記之索引MySql優化筆記索引
- Java學習筆記:Redis的持久化Java筆記Redis持久化
- Android卡頓優化學習筆記Android優化筆記
- 組合最佳化 學習筆記筆記
- vue+VueI18n 專案國際化 筆記Vue筆記
- 「學習筆記」線段樹標記永久化筆記
- Struts2【UI標籤、資料回顯、資源國際化】UI
- 學習筆記筆記
- 強化學習-學習筆記9 | Multi-Step-TD-Target強化學習筆記
- 強化學習-學習筆記11 | 解決高估問題強化學習筆記
- 強化學習-學習筆記14 | 策略梯度中的 Baseline強化學習筆記梯度
- HexMap學習筆記(四)——不規則化筆記
- 機器學習筆記——特徵標準化機器學習筆記特徵
- 「學習筆記」可持久化線段樹筆記持久化
- Python 學習筆記(6)— 字串格式化Python筆記字串格式化
- Redis 學習筆記(篇七):Redis 持久化Redis筆記持久化
- 結構化程式設計--學習筆記程式設計筆記
- Adaptive AUTOSAR 學習筆記 15 - 持久化 PersistencyAPT筆記持久化