posts - 64,  comments - 9,  trackbacks - 0
          Struts 2 標簽中 # % 的作用

          “#”主要有三種用途:

          1. 訪問OGNL上下文和Action上下文,#相當于ActionContext.getContext();下表有幾個ActionContext中有用的屬性:
            名稱 作用 例子
            parameters 包含當前HTTP請求參數的Map #parameters.id[0]作用相當于request.getParameter("id")
            request 包含當前HttpServletRequest的屬性(attribute)的Map #request.userName相當于request.getAttribute("userName")
            session 包含當前HttpSession的屬性(attribute)的Map #session.userName相當于session.getAttribute("userName")
            application 包含當前應用的ServletContext的屬性(attribute)的Map #application.userName相當于application.getAttribute("userName")
            attr 用于按request > session > application順序訪問其屬性(attribute) #attr.userName相當于按順序在以上三個范圍(scope)內讀取userName屬性,直到找到為止

                      #符號的用途一般有三種。 — 訪問非根對象屬性,例如示例中的#session.msg表達式,由于Struts 2中值棧被視為根對象,所以訪問其他非根對象時,需要加#前綴。實際上,#相當于ActionContext. getContext();#session.msg表達式相當于ActionContext.getContext().getSession(). getAttribute("msg") 。
           
              2.用于過濾和投影(projecting)集合,如books.{?#this.price<100}

               投影就是選出集合中每個元素的相同屬性組成新的集合,類似于關系數據庫的字段操作。
               投影操作
               語法: collection.{XXX},
               其中XXX 是這個集合中每個元素的公共屬性。
               例如:group.userList.{username}將獲得某個group中的所有user的name的列表。 

               選擇就是過濾滿足selection 條件的集合元素,類似于關系數據庫的紀錄操作。
               選擇操作
               語法:collection.{X YYY},
               其中X 是一個選擇操作符,YYY后面則是選擇用的邏輯表達式。
               選擇操作符有三種: 
                ? 選擇滿足條件的所有元素 
                ^ 選擇滿足條件的第一個元素 
                $ 選擇滿足條件的最后一個元素 
                例如:group.userList.{? #this.name != null}將獲得某個group中user的name不為空的user的列表

                3.構造Map,如#{'foo1':'bar1', 'foo2':'bar2'}

          “%”符號的用途是在標志的屬性為字符串類型時,計算OGNL表達式的值。

          例如在Ognl.jsp中加入以下代碼:

          <hr />
          <h3>%的用途</h3>
          <p><s:url value="#foobar['foo1']" /></p>
          <p><s:url value="%{#foobar['foo1']}" /></p>
          posted on 2009-10-09 10:18 super_nini 閱讀(637) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2009年10月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿

          隨筆檔案

          文章檔案

          相冊

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 延长县| 河西区| 鹿泉市| 翁源县| 和林格尔县| 沿河| 陆良县| 康平县| 滕州市| 民和| 崇明县| 天台县| 越西县| 泽库县| 沙雅县| 金昌市| 乐亭县| 贵德县| 西宁市| 甘孜县| 孟州市| 武邑县| 泽普县| 新郑市| 馆陶县| 安塞县| 桐柏县| 循化| 丽水市| 大名县| 吉安市| 乌苏市| 公主岭市| 呈贡县| 五寨县| 林州市| 南漳县| 贵定县| 措美县| 邢台市| 杨浦区|