25.OGNL与ValueStack(VS)-集合对象进阶
转自:https://wenku.baidu.com/view/84fa86ae360cba1aa911da02.html
首先在LoginAction中增加如下字段并提供相应的get/set方法:
private List studentList = new
ArrayList();
然后再在execute中为其初始化赋值,代码如下:
studentList.add(new Student("jack", 20,
86.0f));
studentList.add(new Student("lily", 22,
96.5f));
studentList.add(new Student("tom", 23,
56.5f));
最后在loginSuc.jsp中增加如下代码:
获取List中的Student对象:<s:property
value="studentList"/><br>
利用投影获取List中的name属性:<s:property
value="studentList.{name}"/><br>
利用投影获取List中的age属性:<s:property
value="studentList.{age}"/><br>
利用投影获取List中的第一个对象的name属性:<s:property value="studentList.[0]{name}"/> 或者<s:property
value="studentList.{name}[0]"/><br>
利用选择获取List中grade>60的student信息:
<s:property value="studentList.{?#this.grade>60}"/><br>
利用选择获取List中grade>60的student名字信息:
<s:property value="studentList.{?#this.grade>60}.{name}"/><br>
利用选择获取List中grade>60的第一个student名字信息:
<s:property value="studentList.{?#this.grade>60}.{name}[0]"/><br>
利用选择获取List中grade>60的第一个student名字信息(链表):
<s:property value="studentList.{^#this.grade>60}.{name}"/><br>
利用选择获取List中grade>60的最后一个student名字信息(链表):
<s:property value="studentList.{$#this.grade>60}.{name}"/><br>
说明:这里重点是说明?#的使用,结合此例来看,studentList中有许多Stutdent对象,我们可以用条件来限制取哪些对象,这些条件必须以?#开始,并且条件要用{}括起。而this是指在判断studentList中的对象是否符合条件的当前对象。?#是指取出符合条件的所有Student对象,而^#是指取出符合条件的第一个对象,$#是指取出符合条件的最后一个对象。
最新文章
- IOS第一天多线程-01pthread
- linux pptpd账号同时登录的问题
- Spring Boot Admin的使用
- 解决maven的报错
- Expectation maximization - EM算法学习总结
- form表单那点事儿(下) 进阶篇
- mysql的日期存储字段比较int,datetime,timestamp区别
- HDU4945 2048(dp)
- 结合源码看nginx-1.4.0之nginx多进程机制详解
- 51 EEPROM操作模板
- Kafka设计
- UVA 796 Critical Links (tarjan算法求割边)
- 用vue开发一个app(4,一个久等了的文章)H5直播平台登录注册(1)
- [POI 2006]OKR-Periods of Words
- Vue-计算属性和侦听属性
- react项目使用bootstrap
- 我的WafBypass之道(SQL注入篇)
- win10 Java环境变量,hadoop 环境变量
- how to backup your system of Autel MS908 Pro
- JSON Web Token in ASP.NET Web API 2 using Owin
热门文章
- linux-mint下搭建android,angularjs,rails,html5开发环境
- STL中的map
- 114. Flatten Binary Tree to Linked List -- 将二叉树转成链表(in-place单枝树)
- 【hive】关于用户留存率的计算
- HDU 5186 zhx&#39;s submissions 模拟,细节 难度:1
- SGU 138. Games of Chess 构造 难度:2
- new BigDecimal(0.01) 与 new BigDecimal(String.valueOf(0.01))的区别 (转)
- boost 中文编码转换
- 基于spec评论——王者荣耀交流协会的PSP DAILY作品
- tensorflow中tensor的静态维度和动态维度