您当前的位置: 首页 > 

宝哥大数据

暂无认证

  • 3浏览

    0关注

    1029博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Struts2创建项目4--ognl

宝哥大数据 发布时间:2017-08-18 23:30:21 ,浏览量:3

什么是ognl(Object Graphic Navgation Language) 对象图形导航语言, 通过一个图形,来完成和我们的对象的导航功能。 2、创建一个对象
package com.chb.struts2Test.model;
/**
 * ognl Object graphic Navgation Language
 * 通过一个图形,来完成和我们对象进行导航的,
 * 
 */

public class User {
    private int id;
    private String username;
    private String nickname;
    public User(){}

    public User(int id, String username, String nickname) {
        super();
        this.id = id;
        this.username = username;
        this.nickname = nickname;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getNickname() {
        return nickname;
    }
    public void setNickname(String nickname) {
        this.nickname = nickname;
    }
}
3、测试

这里写图片描述

4、在添加一个对象, User可能属于某个部门
package com.chb.struts2Test.model;
//在添加一个对象, User可能属于某个部门
public class Department {
    private String dptName;
    public Department() {

    }
    public Department(String dptName) {
        super();
        this.dptName = dptName;
    }
    public String getDptName() {
        return dptName;
    }
    public void setDptName(String dptName) {
        this.dptName = dptName;
    }

}
在User中添加相应的属性
package com.chb.struts2Test.model;
/**
 * ognl Object graphic Navgation Language
 * 通过一个图形,来完成和我们对象进行导航的,
 * 
 */

public class User {
    private int id;
    private String username;
    private String nickname;
    private Department dep;
    public User(){}

    public User(int id, String username, String nickname) {
        super();
        this.id = id;
        this.username = username;
        this.nickname = nickname;
    }

    public Department getDep() {
        return dep;
    }
    public void setDep(Department dep) {
        this.dep = dep;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getNickname() {
        return nickname;
    }
    public void setNickname(String nickname) {
        this.nickname = nickname;
    }
}
现在导航图增加属性

这里写图片描述

获取dep的属性值

这里写图片描述

二、如果我们需要多个根,将怎么做 2.1 使用一个map将多个根存入, 作为一个大的Context,#对象.属性来获取属性值

Object ognl.Ognl.getValue(Object tree, Map context, Object root) throws OgnlExcption getValue有三个参数, Object tree: 寻找的值的表达式 Map context: context, 使用#对象.属性名来从contxt中寻找 Object root: 根, 默认在根中寻找对应的值 这里写图片描述

2.2如果使用list作为根, 如何查询

这里写图片描述

三、尼玛, ognl还可以调用方法

在User里添加两个方法

    public int sum(int a, int b){
        return a + b;
    }
    public String  hello(String word) {
        return "hello " + word;
    }

这里写图片描述

关注
打赏
1587549273
查看更多评论
立即登录/注册

微信扫码登录

0.1437s