Struts2之ognl表示式(下)

2021-06-05 04:48:32 字數 1733 閱讀 4264

/*

* 對ognl來說集合和陣列是一樣的

*/listlist = new arraylist();

course c2 = new course(2,"name2");

course c3 = new course(3,"name3");

course c4 = new course(4,"name4");

course c5 = new course(5,"name5_filtering");

list.add(c2);

list.add(c3);

list.add(c4);

list.add(c5);

context.put("list", list);

system.out.println(ognl.getvalue("#list", context, context.getroot()));//由於集合中持有的是物件,故是引用

system.out.println(ognl.getvalue("#list[2].name", context, context.getroot()));

/** ognl操作集合"[3]"

* ognl操作對映 "#[key3]" 這裡的#和以上的#的意思不同

*/mapmap = new treemap();

map.put("key1", "value1");

map.put("key2","value2");

context.put("map",map);

system.out.println(ognl.getvalue("#map['key1']", context, context.getroot()));

/** filtering 過濾操作集合規則

* 返回所有內容 : collection. expression ---> #this表示當先物件

* 返回第乙個資料 : collection.

* 返回最後乙個元素 : collection.

* * projection 投影集合操作規則 collection.

* * filtering 和 projecting 的區別相當於乙個取得資料庫中的行,乙個是取得列

* */

//use filtering

system.out.println(ognl.getvalue("#list.", context, context.getroot()));

//use projecting

system.out.println(ognl.getvalue("#list.", context, context.getroot()));

system.out.println(ognl.getvalue("#list.", context, context.getroot()));

system.out.println(ognl.getvalue("#list.", context, context.getroot()));

執行結果為:
value1

[id = 5----name = name5_filtering]

[name2, name3, name4, name5_filtering]

[2, 3, 4, 5]

[name2, name3, name4, hello world]

這兩篇文章中介紹了ognl的全部使用方法。以後會在部落格中給出如何在struts2中使用ognl。^_^

Struts2之ognl表示式(上)

下面通過乙個例項來講述ognl的使用。在src下新建course和student類其原始碼為 course public class course student public class student建立testognl類,開始使用ognl,然後通過 講述ognl的使用 import ognl....

struts 2的OGNL表示式

既然要訪識問資料,必須有個東西裝資料。ognl的裝資料的東西叫 stack context ognl context 可以理解它相當於乙個map.1.它裡面的每個 物件,都應該有個名字,根據名字來訪問。物件名 假如ognl context中有3個物件 foo bar test bar.abc 訪問b...

Struts2 使用OGNL表示式投影(過濾)

一.集合的投影 過濾 有以下三種方式 1 投影 過濾 所有符合條件的集合,如 students.2 投影 過濾 第乙個符合條件的元素,如 students.3 投影 過濾 最後乙個符合條件的元素,如 students.注意 this 表示集合中的元素 二.ognl具體使用投影 過濾 1 建立實體類 ...