struts2(五) s標簽和國際化


        堅持就是勝利。

                    --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。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM