Flyever,Zhang's Bolg

          我在奮斗。。。
          posts - 4, comments - 3, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          關于Struts2中的標簽介紹(一)

          Posted on 2008-08-17 17:22 Flyever,Zhang 閱讀(591) 評論(1)  編輯  收藏 所屬分類: Struts2
                  隨著各個框架的推出,各框架都有了自己專有的標簽庫。除了有官方的JSTL特別優秀外,其它各框架推的也相當的優秀。有了標簽,我們可以讓UI和業務邏輯不在糾纏在一起,也為操作模型層提供了方便。
                  在學Struts2框架的時候,必須學習它的標簽,否則也是一種遺憾。
                  在此我假設JSP文件中聲明了<%@ taglib prefix="s" uri="/struts-tags" %>,以S為前綴。
                  1、<s:property/>
                        屬性標簽是用來獲取ActionContext中的內容。例:
          1<%
          2      session.setAttribute("param1","param1");
          3      request.setAttribute("param2","param2");
          4  %>
          5  <s:property value="#session.param1"/><br>
          6   <s:property value="#request.param2"/><br>
          7   <s:property value="#session['param1']"/><br>
          8   <s:property value="#request['param2']"/><br>
          9   <s:property default="defaultvalue" value="s"/><br>
                   注:在取四種屬性范圍里的值時,我們要使用OGNL語言來操作,如第五行到第八行所示。在獲取Action中的屬性時,我們不用使用OGNL語言來操作,直接往value屬性中寫入要取得的屬性名則可,如果要獲取Action中某屬性中的屬性時,使用點操作符則可,如<s:property  value="company.name"/>。如果要顯示默認值的話,使用defaut屬性,如第九行所示,這時無論value屬性取何值,均顯示默認值。
                  2、<s:set/>
                   set標簽用于為指定的變量設定值,它對值棧中的表達示進行求值并將其賦給指定的變量名。如下所示:
           1 <%
           2      session.setAttribute("param1","param1");
           3        %>
           4<s:set name="param" value="#session.param1"></s:set>
           5   <s:property value="#param"/><br>
           6   <s:set name="param" value="#session.param1" scope="request"></s:set>
           7   <s:property value="#request.param"/><br>
           8   <s:set name="param" value="#session.param1" scope="session"></s:set>
           9   <s:property value="#session.param"/><br>
          10   <s:set name="param" value="#session.param1" scope="application"></s:set>
          11   <s:property value="#application.param"/><br>
                    注:scope的值為四種屬性范圍中的一種。
                     3、<s:bean/>
                      可以使用該標簽創建簡單的JavaBean并把它壓入valuestack中。該標簽還可以使用<s:param>設定參數的值。如下所示:
          1 <s:bean name="user" id="user"><!-沒有scope屬性,會被壓入valuestack中->
          2           <s:param name="name" value="'flyever,zhang'"></s:param>
          3           <s:param name="gender" value="'male'"></s:param>
          4   </s:bean>
                   :運行該程序時還需新建一User類。在寫往value屬性中寫入字符串值時,一定要用單引號括起來,否則會被認為是一個變量。 
                   4、<s:push/>
                      該標簽可以把程序員在ActionContext中引用的對像壓入valuestack中,為以后訪問對象提供了方便。如下所示:
          1 <s:push value="#request.user">
          2           <s:property value="name"/>
          3           <s:property value="gender"/>
          4   </s:push>   
                  :此處user對象之前被手動存于request中。
                  5、<s:date/>
                  用于格式化日期,最后輸出到頁面中。如下所示:
           <%
                Date date
          =new Date();
                session.setAttribute(
          "date",date);
             
          %>
             
          <s:date name="#session['date']" format="yy/MM/dd"></s:date>
                  此處沒有列出各標簽的全部屬性,此處列出的屬性均為常用屬性,如需獲得更詳細的信息可以參考官方文檔。程序均親自調試過,如有問題,請留言。 
             

          評論

          # re: 關于Struts2中的標簽介紹(一)[未登錄]  回復  更多評論   

          2010-01-26 19:38 by 初學者
          <%
          Date date=new Date();
          session.setAttribute("date",date);
          %>
          <s:date name="#session['date']" format="yy/MM/dd"></s:date>
          是否可以下面用:
          <%
          Date date=new Date();

          %>
          <s:date name="date" format="yy/MM/dd"></s:date>
          我試了,咋個沒有反應呢,未顯示出日期????
          主站蜘蛛池模板: 关岭| 民丰县| 丰镇市| 通河县| 缙云县| 酉阳| 浙江省| 裕民县| 宁化县| 奉新县| 沈丘县| 宜都市| 时尚| 银川市| 河西区| 维西| 通道| 镇宁| 皮山县| 会泽县| 襄城县| 大庆市| 中西区| 大港区| 高要市| 延吉市| 沁水县| 青神县| 宣化县| 天峨县| 四子王旗| 云南省| 利辛县| 措美县| 东光县| 临泉县| 开阳县| 清水县| 沽源县| 高碑店市| 东港市|