posts - 310, comments - 6939, trackbacks - 0, articles - 3
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          Struts2中數據標簽使用示例

          Posted on 2008-01-04 09:15 詩特林 閱讀(31449) 評論(19)  編輯  收藏 所屬分類: Struts
           

          Struts2中數據標簽使用示例

          Struts2提供了大量豐富的標簽供使用,它不再像Struts1中一樣,將種類標簽進行分門列別,但可以根據其使用的用途用以區別。本文通過對Struts2中數據標簽的學習,來對Struts2中標簽的學習起到一個拋磚引玉的作用。文中將介紹Action標簽、Bean標簽、Data標簽、Include標簽、Param標簽、Set標簽、Text標簽、Property標簽等標簽。

          代碼下載:http://tlx5iw.bay.livefilestore.com/y1ps2Mjpc3NiLKuetMOpCsZOOypD6KSdo8-46Zy2wpoMcABeo4vOCNJXtWDEO93-TXgZogwAFYxSOni5BEG2EoN65OFwHdG71v-/Struts2DataTags.rar?download

              一、
          <s:action>
          標簽

          Action標簽,顧名思義,是用來調用Action的標簽,在JSP中頁面中,可以指向具體指定某一命名空間中的某一Action。而標簽的主體用于顯示及渲染Actionr的處理結果。

          1WebRoot\pages\dataTagssuccess.jsp處理頁面

           

          <%@ page contentType="text/html; charset=GBK" %>

          <%@ taglib prefix="s" uri="/struts-tags" %>

          <html>

                 
          <head>

                        
          <title>Action Tag 示例</title>

                 
          </head>

                 
          <body>

                        
          <h2>Action Tag 示例</h2>

                               
          <s:action name="success">

                                      
          <b><i>s:action標簽用于在頁面顯示結果.</i></b></div>

                               
          </s:action>

                 
          </body>

          </html>

           

          這里使用<s:action>標簽進行頁面跳轉,并用于顯示處理的結果。

          2.先來看struts.xml中的配置:

           

                 <action name="actionTag" class="com.sterning.actionTag">

                     
          <result name="success">/pages/dataTags/success.jsp</result>

                 
          </action>

           

          3.接著創建actionTag類:代碼如下:

           

          package com.sterning;

          import com.opensymphony.xwork2.ActionSupport;

          publicclass actionTag 
          extends ActionSupport {

              
          public String execute() throws Exception{

                 returnSUCCESS;

              }


          }

           

          其實該類中沒有做任何處理,只是進行頁面跳轉而已。

          4.運行效果。


          1.<s:action>標簽

          二、<s:bean>標簽

          Bean標簽,當然需要一個JavaBean。其的屬性值的操作是經由Bean標簽中的參數屬性來進行賦值。當然,它還有一個id屬性可以進行賦值,由于就可以在上下文中使用這個Bean。請看如下的頁面:

          1WebRoot\pages\dataTags\beanTag.jsp,代碼如下:

           

          <%@ page contentType="text/html; charset=GBK" %>

          <%@ taglib prefix="s" uri="/struts-tags" %>

          <html>

                 
          <head>

                        
          <title>Bean Tag 示例</title>

                 
          </head>

                 
          <body>

                        
          <h2>Bean Tag 示例</h2>

                               
          <s:bean name="com.sterning.companyName" id="uid">

                                      
          <s:param name="name">sterning</s:param> 

                                             
          <s:property value="%{name}" /><br>

                               
          </s:bean>

                 
          </body>

          </html>

           

          可參其關聯的JavaBeancom.sterning.companyName,同時參數name賦值為sterning

          2.首先創建Action進行跳轉, src\com\sterning\beanTag.java,代碼如下:

           

          package com.sterning;

          import com.opensymphony.xwork2.ActionSupport;

          public class beanTag extends ActionSupport {

                 
          public String execute() throws Exception{

                        
          return SUCCESS;

                 }


          }

           

          然后創建JavaBeansrc\com\sterning\companyName.java,代碼如下:

           

          package com.sterning;

          public class companyName {

                 
          private String name;

                 
          public void setName(String name){

                        
          this.name =name ;

                 }


                 
          public String getName(){

                        
          return name;

                 }


          }

           

          3Struts.xml的配置

          這里配置很簡單,與前面的例子差不多。

           

                        <action name="beanTag" class="com.sterning.beanTag">

                               
          <result name="success">/pages/dataTags/beanTag.jsp</result>

                        
          </action>

           

          4.運行效果


          2.<s:bean>標簽

          三、<s:date>標簽

          Data標簽方便在頁面進行格式化的日期輸出。格式有多種可供選擇。同時,還可以通過在properties屬性文件中定義好”struts.date.format”參數的值,從而自定義格式輸出。

          Date標簽包含三個屬性,可以從下面的代碼中感受一下,分別是:

          l         Name:

          l         Nice

          l         Format

          1WebRoot\pages\dataTags\dateTag.jsp

           

          <%@ page contentType="text/html; charset=GBK" %>

          <%@ taglib prefix="s" uri="/struts-tags" %>

          <html>

                 
          <head>

                        
          <title>Date Tag 示例</title>

                 
          </head>

                 
          <body>

                        
          <h2>顯示當前的時間</h2>

                               
          <table border="1" width="35%">

                                      
          <tr>

                                             
          <td><b>日期格式</b></td>

                                             
          <td><b>日期</b></td>

                                      
          </tr>

                                      
          <tr>

                                             
          <td>Day/Month/Year</td>

                                             
          <td><s:date name="currentDate" format="dd/MM/yyyy" /></td>

                                      
          </tr>

                                      
          <tr>

                                             
          <td>Month/Day/Year</td>

                                             
          <td><s:date name="currentDate" format="MM/dd/yyyy" /></td>

                                      
          </tr>

                                      
          <tr>

                                             
          <td>Month/Day/Year</td>

                                             
          <td><s:date name="currentDate" format="MM/dd/yy" /></td>

                                      
          </tr>

                                      
          <tr>

                                             
          <td>Month/Day/Year Hour<B>:</B>Minute</td>

                                             
          <td><s:date name="currentDate" format="MM/dd/yy hh:mm" /></td>

                                      
          </tr>

                                      
          <tr>

                                             
          <td>Month/Day/Year Hour<B>:</B>Minute<B>:</B>Second</td>

                                             
          <td><s:date name="currentDate" format="MM/dd/yy hh:mm:ss" /></td>

                                      
          </tr>

                                      
          <tr>

                                             
          <td>Nice Date (Current Date & Time)</td>

                                             
          <td><s:date name="currentDate" nice="false" /></td>

                                      
          </tr>

                                      
          <tr>

                                             
          <td>Nice Date</td>

                                             
          <td><s:date name="currentDate" nice="true" /></td>

                                      
          </tr>

                               
          </table>

                 
          </body>

          </html>

           

          2src\com\sterning\beanTag.java

          該項類更加簡單,頁面跳轉

           

          package com.sterning;

          import com.opensymphony.xwork2.ActionSupport;

          public class beanTag extends ActionSupport {

                 
          public String execute() throws Exception{

                        
          return SUCCESS;

                 }


          }

           

          3Struts.xml配置

           

                        <action name="dateTag" class="com.sterning.dateTag">

                               
          <result>/pages/dataTags/dateTag.jsp</result>

                        
          </action>

           

          4.運行效果


          3.<s:date>標簽

          四、<s:include>標簽

          <s:include>標簽用于在當前頁面中包含來自其它servletJSP頁面的處理結果。由于是頁面與頁面(或servlet)之間的頁面包含,因此不需要action來進行頁面的跳轉。

          1WebRoot\pages\dataTags\includeTag.jsp

           

          <%@ page contentType="text/html; charset=GBK" %>

          <%@ taglib prefix="s" uri="/struts-tags" %>

          <html>

                 
          <head>

                        
          <title>Include Tag 示例</title>

                 
          </head>

                 
          <body>

                        
          <h2>Include Tag 示例</h2>

                               
          <s:include value="myBirthday.jsp" />

                 
          </body>

          </html>

           

          這里包含了另外一個頁面myBirthday.jsp,其實相當于在JSP頁面里包含其它的頁面。原理一樣的。

          2WebRoot\pages\dataTags\myBirthday.jsp

          這個頁面利用了上面所講的<s:date>標簽進行日期的格式化輸出

           

          <%@ page contentType="text/html; charset=GBK" %>

          <%@ taglib prefix="s" uri="/struts-tags" %>

          <html>

                 
          <head>

                        
          <title>Include Tag 示例</title>

                 
          </head>

                 
          <body>

                               
          <table border="1" width="35%">

                                      
          <tr>

                                             
          <td><b>Date Format</b></td>

                                             
          <td><b>Date</b></td>

                                      
          </tr>

                                      
          <tr>

                                             
          <td>Day/Month/Year</td>

                                             
          <td><s:date name="myBirthday" format="dd/MM/yyyy" /></td>

                                      
          </tr>

                                      
          <tr>

                                             
          <td>Month/Day/Year</td>

                                             
          <td><s:date name="myBirthday" format="MM/dd/yyyy" /></td>

                                      
          </tr>

                                      
          <tr>

                                             
          <td>Month/Day/Year</td>

                                             
          <td><s:date name="myBirthday" format="MM/dd/yy" /></td>

                                      
          </tr>

                                      
          <tr>

                                             
          <td>Month/Day/Year Hour<B>:</B>Minute</td>

                                             
          <td><s:date name="myBirthday" format="MM/dd/yy hh:mm" /></td>

                                      
          </tr>

                                      
          <tr>

                                             
          <td>Month/Day/Year Hour<B>:</B>Minute<B>:</B>Second</td>

                                             
          <td><s:date name="myBirthday" format="MM/dd/yy hh:mm:ss" /></td>

                                      
          </tr>

                                      
          <tr>

                                             
          <td>Nice Date (Current Date & Time)</td>

                                             
          <td><s:date name="myBirthday" nice="false" /></td>

                                      
          </tr>

                               
          </table>

                 
          </body>

          </html>

           

          3Struts.xml配置

           

                        <action name="includeTag" class="com.sterning.includeTag">

                               
          <result>/pages/dataTags/includeTag.jsp</result>

                        
          </action>

           

          4.運行效果


          4.<s:include>標簽

          五、<s:param>標簽

          Param標簽用于傳遞參數,如給<s:bean>標簽傳遞參數。它有如下兩個屬性:

          l         Name(String):參數名;

          l         Value(Object):參數值。

          1WebRoot\pages\dataTags\paramTag.jsp

           

          <%@ page contentType="text/html; charset=GBK" %>

          <%@ taglib prefix="s" uri="/struts-tags" %>

          <html>

                 
          <head>

                        
          <title>Param Tag 示例</title>

                 
          </head>

                 
          <body>

                        
          <h2>Param Tag 示例</h2>

                               
          <ui:component>

                                      
          <ui:param name="empname">Emp1</ui:param><br>

                                      
          <ui:param name="empname">Emp2</ui:param><br>

                                      
          <ui:param name="empname">Emp3</ui:param> 

                               
          </ui:component>

                 
          </body>

          </html>

           

          2Struts.xml配置

           

                        <action name="paramTag">

                               
          <result>/pages/dataTags/paramTag.jsp</result>

                        
          </action>

           

          3.運行效果


          5.<s:param>標簽

          六、<s:set>標簽

          Set標簽比較簡單。Set標簽用戶將某一值賦給某一變量,因此,任何對該項值的引用都可以通過該變量來得到該值。該變量的活動范圍可自定義。如下例中,定義一健/值對,對值的引用,直接引用值就可以。。請看示例

          1WebRoot\pages\dataTags\ setTag.jsp

           

          <%@ page contentType="text/html; charset=GBK" %>

          <%@ taglib prefix="s" uri="/struts-tags" %>

          <html>

                 
          <head>

                        
          <title>Set Tag 示例</title>

                 
          </head>

                 
          <body>

                        
          <h2>Set Tag 示例</h2>

                               
          <s:set name="technologyName" value="%{'Java'}"/>

                                      Technology Name: 
          <s:property value="#technologyName"/>

                 
          </body>

          </html>

           

          2Struts.xml配置

           

                        <action name="setTag">

                               
          <result>/pages/dataTags/setTag.jsp</result>

                        
          </action>

           

          3.運行效果


          6.<s:set>標簽

          七、<s:property>標簽

          Property顧名思義,可以與<s:bean>標簽結合使用,一個是給bean賦值,一個是從bean中讀取值。直接來看示例:

          1WebRoot\pages\dataTags\propertyTag.jsp

           

          <%@ page contentType="text/html; charset=GBK" %>

          <%@ taglib prefix="s" uri="/struts-tags" %>

          <html>

                 
          <head>

                        
          <title>Property Tag 示例</title>

                 
          </head>

                 
          <body>

                        
          <h2>Property Tag 示例</h2>

                               
          <!-- Example to pick the value through bean class -->

                               
          <s:bean name="com.sterning.companyName" id="uid">

                                      
          <s:param name="name">sterning</s:param> 

                                             
          <s:property value="%{name}" /><br>

                                      
          </s:bean>

                               
          <!-- Default value -->

                                             
          <s:property value="name" default="Default Value" />

                 
          </body>

          </html>

           

          2Bean

          當然這里用到了Bean. com\sterning\ companyName.java,代碼如下:

           

          package com.sterning;

          public class companyName {

                 
          private String name;

                 
          public void setName(String name){

                        
          this.name =name ;

                 }


                 
          public String getName(){

                        
          return name;

                 }


          }

           

          3src"com"sterning" propertyTag.java

          進行頁面跳轉

           

          package com.sterning;

          import com.opensymphony.xwork2.ActionSupport;

          public class propertyTag extends ActionSupport {

            
          public String execute() throws Exception{

              
          return SUCCESS;

           }


          }

           

          4Struts.xml配置

           

                        <action name="propertyTag" class="com.sterning.propertyTag">

                               
          <result>/pages/dataTags/propertyTag.jsp</result>

                        
          </action>

           

          5.運行效果


          7.<s:property>標簽


          評論

          # re: Struts2中數據標簽使用示例  回復  更多評論   

          2008-01-04 09:31 by shaomin
          謝謝分享
          正在學習

          # re: Struts2中數據標簽使用示例  回復  更多評論   

          2008-01-10 14:20 by til
          標簽頭 <s: 這個是什么意思呢?能給說說么?謝謝,最好可以發到郵箱里,謝謝:)xiaolanzhu66@163.com

          # re: Struts2中數據標簽使用示例  回復  更多評論   

          2008-01-10 17:02 by 詩特林
          @til標簽頭<s:,代表了一種簡寫,凡是s打頭的標簽均由struts-tags來處理,其引用如下:<%@ taglib prefix="s" uri="/struts-tags" %>

          # re: Struts2中數據標簽使用示例  回復  更多評論   

          2008-06-22 21:10 by etao528
          謝謝分享,你的每一篇文章都講解的很清楚,就是每個JAR包都沒有忘記,
          很值得學習。你的這種精神更值得我們大家學習。

          # re: Struts2中數據標簽使用示例  回復  更多評論   

          2008-07-04 09:22 by 123
          <s:action name="success">..........</s:action> 這個標簽的name到底是指向success還是指向actionTag啊,我好像看的很暈哦。。。。。

          # re: Struts2中數據標簽使用示例  回復  更多評論   

          2008-07-23 11:19 by gzstyxb
          把大部分標簽的使用都這樣描述,有說明,有例子,有運行效果的截圖,有使用的注意事項,使用技巧等,出本書,我一定會買一本來學習的。現在國內的書太多的垃圾了,象你這樣的寫作水平,應該寫幾本書才好。

          # re: Struts2中數據標簽使用示例  回復  更多評論   

          2008-08-15 09:09 by 小生
          javaQQ群: 24171102 歡迎大家一起探討

          # re: Struts2中數據標簽使用示例  回復  更多評論   

          2008-09-17 09:08 by jacy
          <s:action name="success">..........</s:action> 看了半天,我也沒看懂

          # re: Struts2中數據標簽使用示例  回復  更多評論   

          2009-01-22 23:14 by CN
          J2EE交流群:63821067 歡迎大家加入

          # re: Struts2中數據標簽使用示例[未登錄]  回復  更多評論   

          2009-03-07 17:04 by 豆豆
          我用你的方法獲得各種格式的時間,Date一欄什么都沒有顯示啊,請問是怎么回事呢,謝謝!

          # re: Struts2中數據標簽使用示例  回復  更多評論   

          2009-04-09 15:59 by feiye
          直接運行當然看不到date里的東西,需要在action里面加上相應的getset方法,然后在execute里初始化。樓主一樣寫教程就寫的清楚點嘛

          # re: Struts2中數據標簽使用示例  回復  更多評論   

          2009-07-30 17:57 by Hibernate
          很有幫助的

          # re: Struts2中數據標簽使用示例[未登錄]  回復  更多評論   

          2009-09-27 11:47 by 1
          謝謝啦 非常實用

          # re: Struts2中數據標簽使用示例  回復  更多評論   

          2009-12-28 20:55 by LamFung
          謝謝你的教程 不勝感激!

          # re: Struts2中數據標簽使用示例  回復  更多評論   

          2009-12-31 16:56 by aay
          <s:date>標簽有具體點的用法例子沒 有發來分享下

          # re: Struts2中數據標簽使用示例  回復  更多評論   

          2010-04-28 09:07 by lwkhehe
          <s:action name="success">..........</s:action>
          這個例子中不用這個標簽難道就顯示不出這個結果么,調用actionTag.action,根據配置文件就是返回到這個頁面,和<s:action有什么關系,我把這個頁面用純html也一樣可以跳過來,看不懂為什么這么舉例子,好怪
          不過謝謝分享

          # re: Struts2中數據標簽使用示例  回復  更多評論   

          2010-06-22 11:11 by tcl
          謝謝了

          # re: Struts2中數據標簽使用示例  回復  更多評論   

          2010-08-17 02:17 by web-tag.net
          寫得不錯,我也發現了一個struts2 標簽說得很詳細很全面的網站,分享下啦,
          web-tag.net,國人終于都有人做這件事情了,,基本把你認識和不認識的java web標簽都集中起來了,,

          # re: Struts2中數據標簽使用示例[未登錄]  回復  更多評論   

          2011-08-18 10:30 by lili
          可以加您為好友嗎?
          主站蜘蛛池模板: 瑞安市| 游戏| 六盘水市| 乌海市| 高唐县| 岢岚县| 阿克苏市| 邮箱| 长治县| 商河县| 蓬莱市| 文山县| 嘉义县| 怀远县| 海兴县| 兰溪市| 阿巴嘎旗| 翁牛特旗| 龙口市| 新河县| 孟村| 潮州市| 晋江市| 基隆市| 凌云县| 宜兴市| 西吉县| 闽侯县| 沾益县| 瑞昌市| 岳阳市| 临潭县| 松江区| 天等县| 探索| 新建县| 长丰县| 宜春市| 南平市| 浮梁县| 长兴县|