Struts2常用標籤之通用標籤的使用

來源:互聯網
上載者:User

Struts2標籤的分類:


  • Examples<s:push value="myBean">    <!-- Example 1: -->    <s:property value="myBeanProperty" />    <!-- Example 2: -->TextUtils    <s:property value="myBeanProperty" default="a default value" /></s:push>Example 1 prints the result of myBean's getMyBeanProperty() method.Example 2 prints the result of myBean's getMyBeanProperty() method and if it is null, print 'a default value' instead.

  • <s:set var=”myVar” value=”#parameters.score[0]” /><s:property value=”#myVar”/>等同於ActionContext.getContext().get(“myVar”);<s:property value=”#request.myVar”/>等同於ActionContext.getContext.getReuqest().get(“myVar”);
    Struts2內建的例子:
    <s:set name="personName" value="person.name"/>Hello, <s:property value="#personName"/>. How are you?

  •   <s:property value=”username”/>列印值棧元素的username屬性
      <s:property value=”password”/>列印值棧元素的password屬性
    </s:push>把user從值棧中彈出
  • <s:url action=”TestAction”>  <s:param name=”name” value=”’張三’”/></s:url>

  • 通常只使用action或value其中一個屬性。
    如果使用的是value屬性,那麼該屬性無效。
    而是被儲存到OgnlContext中。
    而且會包含主機名稱及連接埠號碼。
<s:a/>標籤的使用:
  • <s:a action=”TestAction” namespace=”/”>添加使用者  <s:param name=”name” value=”’張三’”/></s:a>

  • <s:if>、<s:elseif>、<s:else>
    這種標籤大家應該一看就會用了。我們直接給出個小例子看看。
    <!—
    在瀏覽器中輸入:http://localhost:8080/tagtest/index.jsp?score=85
    -->
    <s:set name="score" value="#parameters.score[0]"/><s:property value="#score"/>: <s:if test="#score > 100 || #score < 0"><s:property value="'輸入錯誤'"/></s:if><s:elseif test="#score >= 90"><s:property value="'A'" /></s:elseif><s:elseif test="#score >= 80"><s:property value="'B'" /></s:elseif><s:elseif test="#score >= 70"><s:property value="'C'" /></s:elseif><s:elseif test="#score >= 60"><s:property value="'D'" /></s:elseif><s:else><s:property value="'E'"/></s:else>
  • <s:iterator/>標籤可以用來迭代一個集合,可以迭代的的集合有:Collection、Map、Enumeration、Iterator或者是數組。iterator標籤在迭代過程中,會把當前對象暫時壓入值棧,這樣在子標籤中就可以直接存取當前對象的屬性(因為當前對象在棧頂),在標籤體執行完畢後,位於棧頂的對象就會被刪除,在迴圈的第二圈時,把新的當前對象再壓入值棧中。
    • <s:iterator value="{'zhangSan','liSi','wangWu' }">name: <s:property/><br/></s:iterator>
  • 如果為<s:iterator>標籤指定了var屬性,那麼當前對象不只是壓入到了值棧中,而且還會被添加到OgnlContext中。
    <s:iterator value="{'zhangSan','liSi','wangWu' }" var="name">name: <s:property value="#name"/><br/></s:iterator>

  • <s:iterator/>標籤常用參數介紹:
    那麼迭代的集合中的元素將被儲存到OgnlContext中,
    可以通過該屬性的值來引用集合中的元素。該屬性幾乎不被使用。
    Map、
    Enumeration、
    Iterator 或數組
    如果沒有指定該屬性,
    那麼iterator標籤將把位於值棧棧頂的對象放入一個新建立的List中進行迭代。
    一個IteratorStatus執行個體將被放入到OgnlContext中,
    通過該執行個體可以擷取迭代過程中的一些狀態資訊。


  • <s:iterator value='{"one", "two", "three"}' status="status"><s:property value="#status.count"/>,<s:property value="#status.index"/>,<s:property value="#status.even"/>,<s:property value="#status.odd"/>,<s:property value="#status.first"/>,<s:property value="#status.last"/><br/></s:iterator><hr/><s:iterator value="#{'1':'one','2':'two','3':'three','4':'four'}" status="st"><s:property value="key"/>:<s:property value="value"/><br/></s:iterator

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.