Ognl 筆記

1、Ognl簡介

OGNL的全稱是Object Graph Navigation Language(對象圖導航語言),它是一種強大的表達式語言。

 

它存在着兩種對象,一種爲根對象、一種爲非根對象。根對象只有一個,而非根對象可以有多個。這裏就有一個表達式:

       Ognl的上下文(OgnlContext)= 根對象(1)+非根對象(N)

 

2、存值與取值

第一步肯定是導入ognl的jar包。

 

根對象與非根對象的區別: 1、根對象只有一個;非根對象有多個

                                             2、根對象取值,直接根據屬性名取;非根對象取值時,需要在前面加入’#‘ 號,如下:

public static void main(String[] args) {
		// 申明一個Ognl的上下文
		OgnlContext oc=new OgnlContext(); 
		// 向上下文內添加非根對象
		oc.put("s1", new Student("1", "張三"));
		oc.put("s2", new Student("2", "張三2"));
		oc.put("s3", new Student("3", "張三3"));
		
		Teacher teacher = new Teacher("1","小李");
		// 將teacher設置爲非根對象,如果在設置了根對象以後,再爲根對象設置無效,會以之前第一次設置的爲根對象
		oc.setRoot(teacher); 
		
		//取值.
		String tname = (String)Ognl.getValue("tname", oc, teacher);
		Student stu = (Student)Ognl.getValue("#s1", oc, teacher);
		String s1sname = (String)Ognl.getValue("#s1.sname", oc, teacher);
		System.out.println("tname: "+tname+" stu: "+stu+"  s1.sname: "+s1sname);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章