1、常用的ONGL表达式常用ONGL表达式1. 基本对象树的访问对象树的访问就是通过使用点号将对象的引用串联起来进行。例如:name,department.name,user.department.factory.manager.name2. 对容器变量的访问对容器变量的访问,通过#符号加上表达式进行。例如:#name,#department.name,#user.department.factory.manager.name3. 使用操作符号OGNL表达式中能使用的操作符基本跟Java里的操作符一样,除了能使用 +, -, *, /, +, -, =, !=, = 等操作符之外,还能使用 mod
2、, in, not in等。4. 容器、数组、对象OGNL支持对数组和ArrayList等容器的顺序访问:例如:group.users0同时,OGNL支持对Map的按键值查找:例如:#sessionmySessionPropKey不仅如此,OGNL还支持容器的构造的表达式:例如:green, red, blue构造一个List,#key1 : value1, key2 : value2, key3 : value3构造一个Map你也可以通过任意类对象的构造函数进行对象新建:例如:new .URL(http:/localhost/)5. 对静态方法或变量的访问要引用类的静态方法和字段,他们的表达
3、方式是一样的classmember或者classmethod(args):例如:com.javaeye.core.ResourceENABLE,com.javaeye.core.ResourcegetAllResources6. 方法调用直接通过类似Java的方法调用方式进行,你甚至可以传递参数:例如:user.getName(),group.users.size(),group.containsUser(#requestUser)7. 投影和选择OGNL支持类似数据库中的投影(projection) 和选择(selection)。投影就是选出集合中每个元素的相同属性组成新的集合,类似于关系数
4、据库的字段操作。投影操作语法为 collection.XXX,其中XXX 是这个集合中每个元素的公共属性。例如:group.userList.username将获得某个group中的所有user的name的列表。选择就是过滤满足selection 条件的集合元素,类似于关系数据库的纪录操作。选择操作的语法为:collection.X YYY,其中X 是一个选择操作符,后面则是选择用的逻辑表达式。而选择操作符有三种: ? 选择满足条件的所有元素 选择满足条件的第一个元素 $ 选择满足条件的最后一个元素例如:group.userList.? #this.name != null 将获得某个grou
5、p中user的name不为空的user的列表。My JSP OGNL1.jsp starting page!-1.通过ongl表达式获取 属性范围中的值2.通过ongl表达式创建list 集合 ,并且遍历出集合中的值!- $o -3.通过ongl表达式创建Map 集合 ,并且遍历出集合中的值$o.value -!- - -4.通过ongl表达式 进行逻辑判断aa 在 集合aaa,bbb中;aa 不在 集合aaa,bbb中;不 在 集合list中;在 集合list中;5.通过ongl表达式 的投影功能进行数据筛选2 var=o2:在list1集合迭代的时候,从中筛选出当前迭代对象2的集合进行显示
6、 -$o 5.通过ongl表达式 访问某个类的静态方法和值6.ongl表达式 迭代标签 详细索引值奇?偶?首?尾?当前迭代数量tr bgcolor=pinkYNYNYNYN7.ongl表达式: if/else if/else 详细=0 & #request.aa在0-4之间;=4 & #request.aa在4-8之间;大于8;8.ongl表达式: url 详细100value以字符处理: value明确指定以ONGL表达式处理: 9.ongl表达式: checkboxlist 详细1 .list 生成;name:checkboxlist的名字list:checkboxlist要显示的列表va
7、lue:checkboxlist默认被选中的选项,checked=checked以上生成代码:上网看书爬山游泳唱歌2 .Map 生成;name:checkboxlist的名字list:checkboxlist要显示的列表listKey:checkbox 的value的值listValue:checkbox 的lablel(显示的值)value:checkboxlist默认被选中的选项,checked=checked以上生成代码:上网看书爬山游泳唱歌10.ongl表达式: s:radio 详细%Sex sex1 = new Sex(1,男); Sex sex2 = new Sex(2,女);List list = new ArrayList(); list.add(sex1);list.add(sex2);request.setAttribute(sexs,list); %这个与checkboxlist差不多;1.如果集合为javabean:2.如果集合为list:3.如果集合为map:11.ongl表达式: s:select 详细这个与s:checkboxlist差不多;1.如果集合为javabean:2.如果集合为list:3.如果集合为map:到此主要的ONGL标签已经介绍完毕.由于表单标签相对简单不介绍了.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1