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对象,而^#是指取出符合条件的第一个对象,$#是指取出符合条件的最后一个对象。
25.OGNL与ValueStack(VS)-集合对象进阶的更多相关文章
- 24.OGNL与ValueStack(VS)-集合对象初步
转自:https://wenku.baidu.com/view/84fa86ae360cba1aa911da02.html 首先在LoginAction中增加如下字段并提供相应的get/set方法: ...
- struts2.1.6教程四、OGNL与ValueStack(VS)
1.值栈入门 下面我们建立struts2ognl项目来练习ognl的使用. 步骤一.搭建strust2的开发环境 步骤二.建立LoginAction,主要代码如下: package com.asm; ...
- [原创]java WEB学习笔记59:Struts2学习之路---OGNL,值栈,读取对象栈中的对象的属性,读取 Context Map 里的对象的属性,调用字段和方法,数组,list,map
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- 十九、利用OGNL获取ValueStack中:根栈和contextMap中的数据
利用OGNL获取ValueStack中:根栈和contextMap中的数据 原则:OGNL表达式如果以#开头,访问的contextMap中的数据 如果不以#开头,是访问的根栈中的对象的属性(List集 ...
- Struts2第九篇【OGNL、valueStack详解】
什么是OGNL表达式? OGNL是Object Graphic Navigation Language 是操作对象属性的开源表达式. Struts2框架使用OGNL作为默认的表达式语言. 为什么我们学 ...
- Struts2【OGNL、valueStack】就是这么简单
什么是OGNL表达式? OGNL是Object Graphic Navigation Language 是操作对象属性的开源表达式. Struts2框架使用OGNL作为默认的表达式语言. 为什么我们学 ...
- [ SSH框架 ] Struts2框架学习之三(OGNl和ValueStack值栈学习)
一.OGNL概述 1.1 什么是OGNL OGNL的全称是对象图导航语言( object-graph Navigation Language),它是一种功能强大的开源表达式语言,使用这种表达式语言,可 ...
- 29.OGNL与ValueStack(VS)-总结OGNL[重点]
转自:https://wenku.baidu.com/view/84fa86ae360cba1aa911da02.html OGNL是Object Graphic Navigation Languag ...
- 【Struts2】Ognl与ValueStack
一.OGNL 1.1 概述 1.2 OGNL 五大类功能 1.3 演示 二.ValueStack 2.1 概述 2.2 ValueStack结构 2.3 结论 2.3 一些问题 三.OGNL表达式常见 ...
随机推荐
- 高并发数据采集的架构应用(Redis的应用)
问题的出发点: 最近公司为了发展需要,要扩大对用户的信息采集,每个用户的采集量估计约3W.如果用户量增加的话,将会大量照成采集量成3W倍的增长,但是又要满足日常业务需要,特别是报表数据必要 ...
- SPDY以及示例
SPDY是Google开发的基于传输控制协议(TCP)的应用层协议 .Google最早是在Chromium中提出的SPDY协议[1].目前已经被用于Google Chrome浏览器中来访问Google ...
- python 列表构造时的引用问题
以前老是不注意python对象引用,平时也没遇到这样的问题,昨天在这个小问题纠结了半天时间.真是TMD啊 先说明一下我的目的,我有一个包含16个元素的列表,每个元素也是一个小列表.我想每四个子列表为一 ...
- Microsoft Office 2010 Service Pack 2 发布更新
Microsoft Office 2010 32 位版本 的 Service Pack 2 (SP2) 包含的新更新可以提高安全性.性能和稳定性.此外,SP 是以前发布的所有更新的汇总. 下载更新补丁 ...
- java并发编程之二--CountDownLatch的使用
CountDownLatch类 允许一个或多个线程等待直到在其他线程中执行的一组操作完成的同步辅助. CountDownLatch能够使一个线程在等待另外一些线程完成各自工作之后,再继续执行.使用一个 ...
- Django 之 自定义中间件
环境:django:1.10 python: 2.7 简介 中间件是一个轻量级.底层的插件系统,可以介入 django 的请求和响应处理过程,修改 django 的输入和输出. 在 django ...
- Windows同时安装python3和python2
Windows同时安装python3和python2 https://www.cnblogs.com/shanhua-fu/p/6912683.html Windows7 下python3和pytho ...
- test20181020 B君的第二题
题意 分析 考场70分 一看就是裸的kmp,直接打上去. #include<cstdlib> #include<cstdio> #include<cmath> #i ...
- SAP MM模块 经常使用Bapi
1.sap货物移动相关的bapi(MIGO/MB1A) 货物移动的bapi BAPI_GOODSMVT_CREATE 当中 參数 : GOODSMVT_CODE 有 GMCODE Table T ...
- nginx防盗链配置
Ps:防盗链的意义就是保证自己的版权,不免网站的流量流失,为他人做嫁衣.下面是网上看到的三种方法: 修改 /usr/local/nginx/conf/nginx.conf 这个配置文件.找到locat ...