posts - 495,  comments - 11,  trackbacks - 0

          OGNL中的#%$符號

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


          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
          校驗:數(shù)字必須為${min}${max}之間!


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

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


          網站導航:
           
          主站蜘蛛池模板: 徐汇区| 鹤壁市| 延庆县| 达尔| 衡阳县| 麟游县| 刚察县| 吉木乃县| 保康县| 平舆县| 平利县| 梅河口市| 霞浦县| 翁源县| 分宜县| 乐安县| 濮阳市| 巴彦淖尔市| 普格县| 桑植县| 望江县| 和硕县| 仪陇县| 石城县| 正镶白旗| 游戏| 图木舒克市| 义马市| 华阴市| 高碑店市| 丹寨县| 朝阳市| 扶沟县| 克拉玛依市| 浙江省| 遵义县| 镇雄县| 盐池县| 同心县| 白水县| 广汉市|