堅持就是勝利。
--WZY
一、s標簽
在struts-2.3.15.1/docs/WW/docs/tag-reference.html下,就有着struts2所有標簽的參考文獻,只能看看其中比較常用的標簽。其他的以后遇到了在看參考文獻即可。
通用標簽,control Tags 和 DataTags,下面用方框圈起來的就是我們需要了解的
1.1、if、elseif、else 標簽。
這個很簡單,流程控制的標簽,跟我們平常寫的if語句基本上類似。test用來編寫條件的
1.2、Iterator
迭代器標簽,用來循環迭代集合或數組中的數據。還可以當for循環一樣去使用,非常常用,看看如何使用
迭代list集合。
控制循環次數
獲取迭代時的一些狀態信息
1.3、a和url標簽
s:url標簽:通常用來生成action路徑,域<c:url>標簽很類似
s:a標簽
1.4、<s:property/>標簽
在前面也使用過了,用來執行ognl表達式,最為常用的方式是使用它在頁面上輸出ValueStack或ActionContext中的數據。
1.5、<s:set/>標簽
創建一個變量,並將其保存到指定的范圍內。
<s:set var=”myVar” value=”#parameters.score[0]” scope=”page”/>,創建一個變量,保存到page范圍,key為myVar,值為“#parameters.score[0]”的運算結果
注意:scope有一個action范圍,並且他也是scope的默認值,它表示保存到request和OgnlContext兩個范圍中,即比request范圍多了一個OgnlContext范圍。
1.6、<s:push/>標簽
<s:push>標簽是把指定值暫時壓入到值棧中,當執行完<s:push>標簽后,壓入到值棧中的值會被彈出
1.7、<s:debug/>標簽
Debug標簽用於調試,它在頁面中生成一個“[Debug]”超鏈接,單擊這個超鏈接,可以查看ValueStack和ActionContext中保存的所有對象
表單標簽
Struts2的表單標簽還是比較好用的,但它也存在一些敗筆,例如主題這一部分就不是很靈活。所以導致開發中沒有公司會使用它提供的主題
Struts2標簽的優勢:
l 簡化代碼;一般般啦
l 自動數據回顯;這個很不錯。
| 指定主題樣式(說是優點,但很多人也會認為這是缺點)
標簽樣式修改
三個地方可以修改
1、在<s:textfield>的theme屬性指定為simple,那么這個表單項就使用簡單主題
2、 在<s:form>的theme屬性指定為simple,那么整個表單都使用簡單主題;
3、設置struts.ui.theme常量為simple,那么所有表單標簽的默認主題都是simple (常用這個)
二、struts2的國際化
國際化的使用范圍,
全局國際化文件,整個程序都可以使用(常用)
特定包中可以使用(一個包中所有Action可以使用)
特定Action可以使用(一個Action可以使用)
臨時信息文件(JSP中i18n標簽中可以使用)
JSP頁面獲取國際化資源
使用<s:text/>標簽, <s:text name="key" />
action中獲取國際化資源
this.getText("key");
配置文件中獲取國際化資源
key(直接使用國際化配置文件中的key值即可獲得)
2.1、全局國際化文件
1、配置三個配置文件
格式:基本名稱_語言_國家.properties
res_zh_CN.properties res_en_US.properties res.properties
res可以隨便取值的,比如下面我使用的i18n
res_zh_CN.properties:代表其中放的是中文
res_en_US.properties: 英文
res.properties:根據瀏覽器設置的什么語言,就顯示那種語言。只提供中文和英文兩種選擇。
內容:
2、struts.xml中申明國際化資源文件的位置以及作用范圍
value:標識資源文件的位置在哪里,如果在src下,那么就直接寫國際化資源文件的基本名稱,如果在別的包下,那么就需要將完整包名寫出來
3、使用國際化資源文件
在jsp、action、資源文件中使用國際化資源文件有不同的格式,看上面即可。
2.2、特定包中可以使用(一個包中所有Action可以使用)
只需要將國際化資源文件的名稱和位置固定,不需要在struts.xml中指定,注意,在特定包
比如只想在com.wuhao.internationa包下使用,
位置:com.wuhao.internationa包下創建package_zh_CN.properties文件
名稱:com.wuhao.internationa.package_zh_CN.properties
注意:這個文件也可以在com.wuhao.internationa包的子包中被使用
2.3、特定Action可以使用(一個Action可以使用)
很簡單,只需要將國際化資源文件的名稱和位置固定,不需要在struts.xml中指定,
名稱:Action名_語言_國家.properties 比如:InternationAction_zh_CN.properties
位置:與該action同包下
2.4、臨時信息文件(JSP中i18n標簽中可以使用)
也就是只能通過i18n標簽來拿到國際化資源文件中的屬性
名稱:基本名稱_語言_國家.properties
例如:res_zh_CN.properties
位置:隨便放哪
使用:
兩個name的意思分別為 國際化資源文件所放位置 和 資源文件中的字段屬性名。
<s:i18n name="com.wuhao.internation.res">
<s:text name="username"/>
</s:i18n>
三、總結
非常簡單,掌握標簽的使用,和知道標簽優點即可。自動回顯功能。自動布局,但是需要注意,struts2標簽自帶的樣式問題,一般不使用,會設置為simple。