posts - 495,  comments - 11,  trackbacks - 0

          OGNL中的#%$符號

          #%$符號在OGNL表達式中經常出現,而這三種符號也是開發者不容易掌握和理解的部分。在這里筆者簡單介紹它們的相應用途。


          1
          #符號

          #符號的用途一般有三種。
          >>>
          訪問非根對象屬性,例如示例中的#session.msg表達式,由于Struts 2中值棧被視為根對象,所以訪問其他非根對象時,需要加#前綴。實際上,#相當于ActionContext. getContext()#session.msg表達式相當于ActionContext.getContext().getSession(). getAttribute("msg")
          >>>

          用于過濾和投影(projecting)集合,如示例中的persons.{?#this.age>20}
          >>>

          用來構造Map,例如示例中的#{'foo1':'bar1', 'foo2':'bar2'}

          2%符號

          %符號的用途是在標志的屬性為字符串類型時,計算OGNL表達式的值。如下面的代碼所示:

          構造Map

          The value of key "foo1" is 
          不使用%:
          使用%:

          運行界面如圖8.4所示。

          8.4 “%”OGNL表達式用法

          3$符號

          $符號主要有兩個方面的用途。
          >>>
          在國際化資源文件中,引用OGNL表達式,例如國際化資源文件中的代碼:reg.agerange=國際化資源信息:年齡必須在${min}${max}之間。
          >>>
          Struts 2框架的配置文件中引用OGNL表達式,例如下面的代碼片斷所示:

           
          10
          100
          BAction-test
          校驗:數字必須為${min}${max}之間!


          posted on 2009-08-15 17:34 jadmin 閱讀(99) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 北辰区| 乌兰县| 南乐县| 贡觉县| 镇雄县| 都安| 阿鲁科尔沁旗| 平湖市| 忻城县| 敖汉旗| 黄浦区| 石河子市| 靖江市| 桓台县| 上饶县| 新龙县| 威宁| 万全县| 科技| 奈曼旗| 交城县| 玉龙| 喜德县| 乐至县| 禹城市| 松原市| 克拉玛依市| 蓬安县| 连江县| 东光县| 怀化市| 金平| 谷城县| 牙克石市| 陇西县| 阜南县| 平塘县| 融水| 云林县| 鲁山县| 衡阳县|