<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)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 精品国产亚洲一区二区在线观看| 成视频年人黄网站免费视频| 亚洲高清偷拍一区二区三区| 国产精品国产亚洲区艳妇糸列短篇| 韩国欧洲一级毛片免费| 最近免费字幕中文大全视频| 人人狠狠综合久久亚洲88| 中文字幕亚洲精品无码| 成人午夜视频免费| 国产成人无码综合亚洲日韩| 久久这里只精品国产免费10| 久久久国产精品亚洲一区| 日日狠狠久久偷偷色综合免费 | 国内精品免费视频自在线| 久久乐国产精品亚洲综合| 中文字幕不卡免费视频| 亚洲人成依人成综合网| 亚州免费一级毛片| 亚洲欧美第一成人网站7777| 国产精品无码一区二区三区免费| 无码欧精品亚洲日韩一区| 人妻仑乱A级毛片免费看| 亚洲色偷偷偷鲁综合| 永久在线免费观看| 亚洲AV无码成人网站久久精品大| 99re在线视频免费观看| 亚洲日本va中文字幕久久| 最近免费中文字幕大全免费| 日韩亚洲国产综合高清| 又大又硬又爽免费视频| 国产成人精品免费久久久久| 久久精品国产亚洲AV忘忧草18| 国产三级电影免费观看| 亚洲成a人无码亚洲成www牛牛| 动漫黄网站免费永久在线观看| 蜜桃传媒一区二区亚洲AV| 亚洲va国产va天堂va久久| 在线不卡免费视频| 国产猛男猛女超爽免费视频| 亚洲中文字幕在线乱码| 午夜性色一区二区三区免费不卡视频|