rdirect結果類型和dispatcher結果類型的區別
testSuccess.jsp而dispatcher是導向到test.action
如果用戶再單機刷新按鈕。
redirect結果類型,仍然是testSuccess.jsp,用戶提交的信息不會被再次請求。
如果是test.action,用戶先前提交的信息將會再次提交,就會出現重複提交表單信息。
用戶註冊或則在線調查,當用戶在提交註冊或者調查信息時,服務器將導向到成功頁面。
使用OGNL動態配置result (動態配置結果映射)
使用通配符動態配置result時,<result>元素值爲{1}.jsp,這是根據URL參數來匹配的。如果根據action
中的屬性名稱進行動態配置,那麼就需要使用ORGL表達式。
實例:
·ORGLTest.jsp
·ORGLTest.jsp
·struts.xml
·xiaoxue.jsp
使用註解配置action
與action配置相關的註解
在struts2核心包org.apche.struts2.config包中,struts2框架定義了一些與action配置相關的註解類型,
這些註解類型如下:
·ParentPackage註解,用於指定action所在的包要繼承的父包。
參數 value 數據類型 String 不可選 無默認值 指定要繼承的父類
例如:
使用ParentPackage主角額,其value值爲defult-struts,表示所在的action需要繼承default-struts
包:@ParentPackage(value="default-struts")
·Namespace註解,用於指定action所屬於的命名空間
參數 value 數據類型 String 不可選 無默認值 指定action所屬的命名空間
例如:
使用Namespace註解,其value值爲/myspace,表示action屬於myspace命名空間:
@Namespace("/myapace")
·Result註解
Result註解,用於定義一個Result映射
Name String 可選 默認值爲Action.SUCCESS 指定result的邏輯名,即結果代碼
value String 不可選 無默認值 指定result對應資源的URL
type Class 可選 默認值爲NULLResult.class 指定result的類型
Param String[] 可選 默認值爲{} 爲result傳遞參數,格式爲{key1,value1,key2,value2}英文逗號
使用Result註解,定義返回結果的邏輯名字爲register,對應的結果資源URL爲/register.jsp;
param參數使用默認值,即{},表示返回結果不帶參數;type參數值爲默認結果類型:
packageaction;
@Result(name="register",value="/register.jsp",param={},type=ServletDispatcherResult.class)
public class Register{
public String execute(){
return SUCCESS;
}
}
·Results註解 用於定義一組Result映射。
參數 value 數據類型Result[] 不可選 無默認值 爲action定義一組Result映射
package action;
@Results({
@Result(name="login",value="/login.jsp"),
@Result(name="register",value="/register.jsp",type=ServletDispatcherResult.class)
})
public class Register{
public String execute(){
return SUCCESS;
}
}
使用註解的注意事項
(1)在web.xml中配置FilterDispatcher過濾器,爲該過濾器設置actionPackages參數,該參數指定
包含了action類的包的列表。
<init-param>
<param-name>actionPackage</param-name>
<param-value>com.qdu.libin.struts2.action</param>
</init-param>
(2)與action配置相關的4個註解都只能應用在類的級別上
(3)如果需要繼承struts-default包,則不需要使用ParentPackage註解
struts2框架可以自動實現對struts-default包的繼承。
JAVA國際化
java對國際化的支持
使用java進行國際化時,主要使用如下3個類完成:
java.util.Locale 對應一個特定的區域和語言環境
Locale類主要用來構建本地化應用,該類主要包含對地理區域的區域性特徵的封裝。Locale類提供類一些
常量,可以使用這些語言環境創建Locale對象。例如,爲中國應用環境創建一個Locale 對象:
Locale.CN
·java.util.ResourseBundle 用於加載一個資源包。
Locale locale = new Locale("zh","CN","WIN");
ResourceBundle myResource= ResourceBundle.getBundle("Resources",locale);
·java.text.MessageFormat 用於將信息格式化
使用資源文件來實現java國際化
Locale類裏的getDefault()方法,獲取默認的本地信息
getBundle()方法 獲得locale對象的資源包信息
創建資源文件的方式:
在jdk的安裝目錄下,找到bin文件夾,有一個native2ascii.exe文件(創建工具)
在bin文件夾中創建記事本文件
temp.txt
內容:
userName=姓名
userPassword=密碼
在命令提示窗口中,首先進入到jdk的bin目錄下
執行:
native2ascii temp.txt MassagesResources_zh_CN.properties
表示使用native2ascii工具將temp.txt文件轉換爲MassagesResources_zh_CN.properties文件
使用資源類文件實現國際化
MessageFormat類
如果資源文件中包含動態內容,那麼動態內容需要使用佔位符表示,而加載資源時,必須使用MessageFormat
類,該類中有一個靜態方法format(),調用方式如下:
MessageFormat.format(String pattern,Object values,...)
其中,參數pattern是包含有佔位符的字符串,後面的多個參數,將以此填充pattern所代表的字符串的
佔位符。
實例:
·MessageFormat_zh_CN.properties
·MessageFormat_en_US.properties
·MessageFormatThree.java
struts2基礎學習收錄重點之OGNL動態配置result , 使用註解配置action,實現java國際化
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
Struts 2 註解實現Action返回JSON數據
Cloud-Future
2018-08-27 19:44:39
Struts 2 Hello World
Cloud-Future
2018-08-27 19:44:37
使用 Struts 2標籤
Cloud-Future
2018-08-27 19:44:37
Locate 對 Struts2 Calendar Date 時間 賦值 的影響
ICNF
2018-08-27 19:37:10
struts.xml配置文件中result的語法:<result name="" type="">xxxxx</result>
炒冰
2018-08-27 19:35:31
Struts2學習
qq_1597310335
2018-08-27 19:27:18
OGNL和Struts2中的值棧
qq_1597310335
2018-08-27 19:27:18
Struts2的頁面參數獲取
qq_1597310335
2018-08-27 19:27:18
簡單的Struts2登陸
shenshuibomb
2018-08-27 18:06:51
struts2自主學習之DTD文件結構及各配置文件詳解
Leo_libin
2018-08-27 18:05:13
struts2自主學習之配置國際化資源文件,傳統異常處理方式, 攔截器,實現action 控制類,訪問servletAPI,使用攔截器註解
Leo_libin
2018-08-27 18:05:01
本人Struts2基礎學習收錄重點
Leo_libin
2018-08-27 18:05:00
在JS代碼中獲取Struts2中的返回值或者參數
iteye_6674
2018-08-27 17:44:18
Struts2第四篇【請求數據自動封裝、Action得到域對象】
A3384877125
2018-08-27 17:34:28
Struts2筆記之項目環境配置<一>
feilongjian1
2018-08-27 17:23:26
最新文章
-
struts2自主學習之動態方法調用,使用method屬性,配置Result,結果類型
-
Whitelabel Error Page This application has no explicit mapping for /error, so 避坑!!!
-
mysql的時區錯誤問題: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one
-
struts2自主學習之DTD文件結構及各配置文件詳解
-
struts2基礎學習收錄重點之OGNL動態配置result , 使用註解配置action,實現java國際化