一、
如何獲得
ApplicationResources.properties
中的信息
1
、獲得默認的資源文件
2?
3?String?title?=?messages.getMessage("hello.jsp.title" );
4?
2
、獲得默認的資源文件
2?
3 getAttribute(Globals.MESSAGES_KEY);
4?
3
、獲得指定key的資源文件
?
其實方法一本質上就是調用方法二來獲得
MessageResources
的實例。
首先獲得一個封裝了
ApplicationResources.properties
信息
的對象
MessageResources
的實例messages,然后調用getMessage(key);來獲得key的值
二、
如何打包發布一個WEB應用
在DOC下轉到應用的根目錄執行jar cvf appName.war *.*
三、
如何在formbean下驗證表單
?2?
?3?????String?array[]?=?new?String[2 ];
?4?
?5?????array[0]?=?"xx" ;
?6?
?7?????array[1]?=?"hh" ;
?8?
?9?????if(name==null?||?name.length()<1 )
10?
11? ????{
12?
13????????errors.add("name",new?ActionMessage("kong",false ));
14?
15?????//對應的key為hello,且hello為動態復合消息,array數組用來替換復合消息中的參數
16?
17????????errors.add("name",new?ActionMessage("hello" ,array));
18?
19? ????}
20?
21?return ?errors;
22?
23?
在inputJSP中用
<html:errors/>
獲取并顯示
四、
在action下處理業務邏輯時返回的錯誤信息
?2?
?3 ?String?userName? =?(String)((HelloForm)?form).getUserName();
?4?
?5 ? ?
?6?
?7 ?String?badUserName?=?"Monster ";
?8?
?9 ? ?
10?
11 ? if?(userName.equalsIgnoreCase(badUserName))?{
12?
13 ??????errors.add("username",?new?ActionError("hello.dont.talk.to.monster ",?badUserName?));
14?
15 ??????saveErrors(request,?errors);???????// 綁定到request對象中
16?
17 ??????return?( new?ActionForward(mapping.getInput()));
18?
19 ? ?}
20?
同樣在相應的JSP頁面中用用<html:errors/>
獲取并顯示
?
五、
JSP
中如何訪問action
1
、
?
2
、自動跳轉
???
A_JSP
頁面:
B_struts-config.xml
設置:
??????< forward?name = " gaga " ?path = " /hello.do " ></ forward >
</ global - forwards >
六、
配置錯誤頁面和異常頁面:《精通Struts》
page_75
七、
如何在Web應用中訪問Locale對象
1
、什么是Locale?
java.util.Locale
類的實例代表一種特定的語言環境和地區
2
如何獲得Locale?
2???????
構造函數
Locale?locale? = ? new ?Locale( " ch " , " CH " );
2????
訪問java.util.Locale類的靜態常量來獲得常用的
Locale
實例
Locale?locale? = ?Locale.CHINESE;???(zh)
2??????? 通過HttpServletRequest對象來獲得客戶端的Locale
System.out.println(locale);
?
Enumeration?locales? = ?request.getLocales();
while ?(locales.hasMoreElements())?{
??????Locale?element? = ?(Locale)?locales.nextElement();
??????System.out.println(element);
}
2???????
通過HttpSession對象來獲得Locale
Locale?locale? = ?(Locale)?session.
getAttribute(Globals.LOCALE_KEY);
System.out.println(locale);
獲得Locale的方法還有很多,其實在Web應用中,很多獲得Locale的方法都是不同程度的或者是直接的或者是間接在調用
request.getLocale();
方法。因此有了
HttpServletRequest
,我們可以做很多事情。