<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

    下面以一個簡單的示例來幫助讀者理解OGNL表達式。使用OGNL表達式,需要在www.ognl.org網站下載一個ognl.jar插件包,將該文件復制到classpath路徑下即可。建立一個復合類型,如代碼8.1所示。

    代碼8.1定義復合類型

    package ch8;
    import java.util.Date;
    //
    團隊類
    public class Team {
    //
    團隊名稱
    private String teamname;
    //
    定義團隊人員屬性
    private Person person;
    //
    團隊人數
    private int personnum;
    //
    屬性的gettersetter方法
    public String getTeamname() {
    return teamname;
    }
    public void setTeamname(String teamname) {
    this.teamname = teamname;
    }
    public Person getPerson() {
    return person;
    }
    public void setPerson(Person person) {
    this.person = person;
    }
    public int getPersonnum() {
    return personnum;
    }
    public void setPersonnum(int personnum) {
    this.personnum = personnum;
    }
    }
    //
    定義人員類
    class Person {
    //
    姓名
    private String name;
    //
    年齡
    private int age;
    //
    人員出生日期
    private Date birthday;
    //
    屬性的gettersetter方法
    public String getName() {
    return name;
    }
    public void setName(String name) {
    this.name = name;
    }
    public int getAge() {
    return age;
    }
    public void setAge(int age) {
    this.age = age;
    }
    public Date getBirthday() {
    return birthday;
    }
    public void setBirthday(Date birthday) {
    this.birthday = birthday;
    }
    }

    代碼8.1所示內容定義了兩個復合類型:團隊(team)和人員(person)類型。使用OGNL表達式示例,如代碼8.2所示。

    代碼8.2使用OGNL表達式示例

    package ch8;
    import java.util.HashMap;
    import java.util.Map;
    import ognl.Ognl;
    import ognl.OgnlException;
    public class TestOGNL {
    public static void main(String[] args) {
    //
    定義一個Map對象
    Map m = new HashMap();
    //
    定義一個Team對象
    Team team1 = new Team();
    team1.setTeamname("
    團隊1");
    //
    定義一個Person對象
    Person person1 = new Person();
    person1.setName("pla1");
    //
    添加team元素
    team1.setPerson(person1);
    //
    定義一個Team對象
    Team team2 = new Team();
    team2.setTeamname("
    團隊2");
    //
    定義一個Person對象
    Person person2 = new Person();
    person2.setName("pla2");
    //
    添加team元素
    team2.setPerson(person2);

    //
    添加Map元素
    m.put("team1", team1);
    m.put("team2", team2);
    try {
    System.out.println(Ognl.getValue("team1.teamname", m));
    System.out.println(Ognl.getValue("team2.person.name", m));
    System.out.println(Ognl.getValue("teamname", team2));
    System.out.println(Ognl.getValue("person.name", team2));
    } catch (OgnlException e) {
    }
    }
    }


    代碼8.2所示內容定義了一個Map類型的嵌套屬性,如圖8.1所示。

    ??

    8.1嵌套屬性示意圖

    運行該示例,控制器顯示如下信息:

    團隊1
    pla2
    團隊2
    pla2

    說明

    OGNL可以使用非常簡單的表達式來訪問多層嵌套屬性,為開發者提供了一個有力的工具。

    posted on 2009-08-13 14:25 jadmin 閱讀(135) 評論(0)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲国产精品线观看不卡| 久久久久亚洲精品美女| 亚洲资源最新版在线观看| 日韩插啊免费视频在线观看| 伊人久久大香线蕉亚洲| 亚洲免费日韩无码系列| 亚洲精品无码久久久| 黄色一级视频免费| 最好免费观看韩国+日本| 最新亚洲春色Av无码专区| 免费观看的毛片大全| 亚洲av片不卡无码久久| 国产人在线成免费视频| 亚洲Av无码一区二区二三区| 91在线视频免费播放| 亚洲性色精品一区二区在线| 日本高清免费aaaaa大片视频| 国产综合成人亚洲区| 免费一级毛片在播放视频| 一级做α爱过程免费视频| 国产亚洲成人在线播放va| 精品免费tv久久久久久久| 91亚洲国产成人精品下载| 成人免费视频69| 亚洲AV无码成人精品区狼人影院 | 亚洲AV成人一区二区三区在线看| 黄色片在线免费观看| 丰满亚洲大尺度无码无码专线| 国产中文字幕免费观看| 国产黄色片免费看| 亚洲男人天堂av| 妞干网免费观看视频| 一级毛片在线播放免费| 亚洲成AV人在线观看天堂无码| 亚洲一级免费毛片| 青青青亚洲精品国产| 亚洲Av综合色区无码专区桃色| 永久看日本大片免费35分钟| 午夜亚洲国产理论片二级港台二级| 亚洲伊人成无码综合网| 最近最新高清免费中文字幕|