<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 495,  comments - 11,  trackbacks - 0

    OGNLStruts 2框架的默認表達式語言,增強了Struts 2的數據訪問能力,同時簡化了代碼。

    Struts 2OGNL表達式

    標準的OGNL會設定一個根對象(root對象)。假設使用標準OGNL表達式來求值(不使用Struts 2OGNL表達式),如果OGNL上下文(OgnlContext Map類型)有兩個對象:foo對象,在OgnlContext中名稱為foo;bar對象,在OgnlContext中名稱為bar。同時foo對象被設置為根對象(root)。則利用下面的OGNL表達式求值:

    // 返回foo.getBlah()
    #foo.blah
    //
    返回bar.getBlah()
    #bar.blah
    //
    返回foo.getBlah() ,因為foo為根對象
    blah

    說明

    使用OGNL是非常簡單的,如果要訪問的對象不是根對象,如示例中的bar對象,則需要使用命名空間,用“#”來標識,如“#bar”;如果訪問一個根對象,則不用指定命名空間,可以直接訪問根對象的屬性。

    Struts 2框架中,值棧(Value Stack)就是OGNL的根對象,假設值棧中存在兩個對對象實例:ManAnimal,這兩個對象實例都有一個name屬性,Animal有一個species屬性,Man有一個salary屬性,假設Animal在值棧的頂部,ManAnimal后面,下面的代碼片斷會幫助讀者更好地理解OGNL表達式:

    // 調用animal.getSpecies()
    species
    //
    調用man.getSalary()
    salary
    //
    調用animal.getName(),因為Animal位于值棧的頂部
    name


    最后一行示例代碼,返回的是animal.getName()返回值,即返回了Animalname屬性,因為Animal是值棧的頂部元素,OGNL將從頂部元素搜索,所以會返回Animalname屬性值。如果要獲得Manname值,則需要如下代碼:

    man.name

    Struts 2允許在值棧中使用索引,示例代碼如下所示:

    [0].name?? // 調用animal.getName()
    [1].name?? //
    調用man.getName()

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

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


    網站導航:
     
    主站蜘蛛池模板: 高清永久免费观看| EEUSS影院WWW在线观看免费| 一个人看的www免费视频在线观看| 亚洲А∨精品天堂在线| 黄色a三级三级三级免费看| 四虎影视永久免费观看网址| MM1313亚洲精品无码久久| 免费国产真实迷j在线观看| 国产尤物在线视精品在亚洲| 亚洲福利在线播放| 中文字幕成人免费高清在线视频| 中文亚洲成a人片在线观看| 免费无码作爱视频| 亚洲国产精品一区| 嘿嘿嘿视频免费网站在线观看| 亚洲另类自拍丝袜第1页| 免费看美女被靠到爽的视频| 久久精品国产亚洲av瑜伽| 亚洲人成色77777在线观看大| 久久成人永久免费播放| 亚洲大尺度无码专区尤物| 99精品视频在线观看免费专区| 亚洲免费观看在线视频| 国产大片91精品免费观看男同| 高清免费久久午夜精品| 久久久影院亚洲精品| 成年女人毛片免费观看97| 一级做a爰片久久免费| 久久精品亚洲精品国产色婷| 天天摸天天碰成人免费视频| 青青青视频免费观看| 亚洲一区二区电影| 波多野结衣久久高清免费| 美女巨胸喷奶水视频www免费| 亚洲激情视频在线观看| 免费无码又爽又高潮视频| 一级毛片aa高清免费观看| 久久狠狠爱亚洲综合影院| 亚洲国产精品人人做人人爱| 先锋影音资源片午夜在线观看视频免费播放| 国产91在线|亚洲|