Flyever,Zhang's Bolg

          我在奮斗。。。
          posts - 4, comments - 3, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
                  隨著各個(gè)框架的推出,各框架都有了自己專有的標(biāo)簽庫。除了有官方的JSTL特別優(yōu)秀外,其它各框架推的也相當(dāng)?shù)膬?yōu)秀。有了標(biāo)簽,我們可以讓UI和業(yè)務(wù)邏輯不在糾纏在一起,也為操作模型層提供了方便。
                  在學(xué)Struts2框架的時(shí)候,必須學(xué)習(xí)它的標(biāo)簽,否則也是一種遺憾。
                  在此我假設(shè)JSP文件中聲明了<%@ taglib prefix="s" uri="/struts-tags" %>,以S為前綴。
                  1、<s:property/>
                        屬性標(biāo)簽是用來獲取ActionContext中的內(nèi)容。例:
          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>
                   注:在取四種屬性范圍里的值時(shí),我們要使用OGNL語言來操作,如第五行到第八行所示。在獲取Action中的屬性時(shí),我們不用使用OGNL語言來操作,直接往value屬性中寫入要取得的屬性名則可,如果要獲取Action中某屬性中的屬性時(shí),使用點(diǎn)操作符則可,如<s:property  value="company.name"/>。如果要顯示默認(rèn)值的話,使用defaut屬性,如第九行所示,這時(shí)無論value屬性取何值,均顯示默認(rèn)值。
                  2、<s:set/>
                   set標(biāo)簽用于為指定的變量設(shè)定值,它對(duì)值棧中的表達(dá)示進(jìn)行求值并將其賦給指定的變量名。如下所示:
           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/>
                      可以使用該標(biāo)簽創(chuàng)建簡(jiǎn)單的JavaBean并把它壓入valuestack中。該標(biāo)簽還可以使用<s:param>設(shè)定參數(shù)的值。如下所示:
          1 <s:bean name="user" id="user"><!-沒有scope屬性,會(huì)被壓入valuestack中->
          2           <s:param name="name" value="'flyever,zhang'"></s:param>
          3           <s:param name="gender" value="'male'"></s:param>
          4   </s:bean>
                   :運(yùn)行該程序時(shí)還需新建一User類。在寫往value屬性中寫入字符串值時(shí),一定要用單引號(hào)括起來,否則會(huì)被認(rèn)為是一個(gè)變量。 
                   4、<s:push/>
                      該標(biāo)簽可以把程序員在ActionContext中引用的對(duì)像壓入valuestack中,為以后訪問對(duì)象提供了方便。如下所示:
          1 <s:push value="#request.user">
          2           <s:property value="name"/>
          3           <s:property value="gender"/>
          4   </s:push>   
                  :此處user對(duì)象之前被手動(dòng)存于request中。
                  5、<s:date/>
                  用于格式化日期,最后輸出到頁面中。如下所示:
           <%
                Date date
          =new Date();
                session.setAttribute(
          "date",date);
             
          %>
             
          <s:date name="#session['date']" format="yy/MM/dd"></s:date>
                  此處沒有列出各標(biāo)簽的全部屬性,此處列出的屬性均為常用屬性,如需獲得更詳細(xì)的信息可以參考官方文檔。程序均親自調(diào)試過,如有問題,請(qǐng)留言。 
             

          評(píng)論

          # re: 關(guān)于Struts2中的標(biāo)簽介紹(一)[未登錄]  回復(fù)  更多評(píng)論   

          2010-01-26 19:38 by 初學(xué)者
          <%
          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>
          我試了,咋個(gè)沒有反應(yīng)呢,未顯示出日期????
          主站蜘蛛池模板: 哈巴河县| 合水县| 双流县| 莲花县| 宣恩县| 霍邱县| 岑溪市| 延庆县| 濮阳县| 北京市| 林甸县| 洪江市| 班玛县| 赞皇县| 宝清县| 灌云县| 新蔡县| 西盟| 岳阳县| 松潘县| 桐梓县| 思南县| 青州市| 弋阳县| 固阳县| 大石桥市| 吴江市| 松桃| 泸定县| 霍邱县| 祁连县| 乐业县| 仙居县| 裕民县| 鱼台县| 大同县| 峨眉山市| 大埔县| 白河县| 玉屏| 宜兴市|