什么是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、测试
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;
}
}
现在导航图增加属性
#对象.属性
来获取属性值
Object ognl.Ognl.getValue(Object tree, Map context, Object root) throws OgnlExcption
getValue有三个参数, Object tree: 寻找的值的表达式 Map context: context, 使用#对象.属性名来从contxt中寻找 Object root: 根, 默认在根中寻找对应的值
在User里添加两个方法
public int sum(int a, int b){
return a + b;
}
public String hello(String word) {
return "hello " + word;
}