【Struts2五】ValueStack以及ognl表达式二(经常使用标签)
Ognl经常使用标签:
假设把该标签放入到s:iterator中能够看到当前正在迭代的元素的状态
2、s:property
1、输出
2、value属性:值能直接跟ognl表达式
3、假设value属性不写。则默认输出栈顶的元素
3:s:iterator标签
(1)、iterator迭代Collection,Map,Object[],还能够以组合的形式迭代
(2)、当前正在迭代的元素在栈顶
(3)、假设value属性不写,则默认迭代栈顶的元素
(4)、假设迭代的是map元素。当前正在迭代的元素是Entry<key,value>,这个时候key和value是对象栈
中的属性
(5)、var属性,var='aa'相当于给当前正在迭代的元素在map栈又存放了一次,key值为aa
(6)、status属性,能够获取当前正在迭代的元素的信息count,index,odd,event,查看IteratorStatus这个类
(7)、end,first,step属性
4、s:if s:elseif
注意:不能使用单个字符进行推断
<s:if test="name==1"> <s:if test="name=='1'">这样的写法不正确
|
public String putListToMap(){
List<Person> personList = new ArrayList<Person>();
Person p= null;
for (int i
= 0; i < 50; i++) { p= new Person();
if(i%3==0){
p.setPid( "aa");
p.setUsername( "P"+i);
}
if(i%3==1){
p.setPid( "bb");
p.setUsername( "p"+i);
}
if(i%3==2){
p.setPid( "cc");
p.setUsername( "p"+i);
}
personList.add(p);
}
ActionContext. getContext().put("pList",
personList); return "list_map" ;
}
|
|
<style type= "text/css">
.odd{
background-color:red ;
}
.even{
background-color:blue ;
}
.blue{
background-color:yellow ;
}
.red{
background-color:red ;
}
</style >
<s:iterator value= "#pList" var ="aa" status="statu">
<!-- 每三行变色 status 使用s:debug能够查看到该类为IteratorStatus
--> <tr class= "<s:property value="#statu.index%3==0?'blue':'red'" />">
<%--<tr class="<s:property
value="#statu.even?'even':'odd'"/>"> --%>
<td>
<s:property value= "pid"/>
</td>
<td>
<s:property value= "username"/>
</td>
<td>
<s:property value="#statu.count" />
</td>
<td>
<s:if test= "#statu.odd">
奇数行
</s:if>
<s:elseif test= "#statu.even">
偶数行
</s:elseif>
</td>
<td>
<s:property value="#statu.index" />
</td>
<td>
<s:if test="pid=='aa'||pid=='bb'" >
<input type= "button" name="adsf" value="改动">
</s:if>
</td>
<td>
<s:if test="pid=='cc'||pid=='aa'" >
<input type= "button" name="adsf" value="删除">
</s:if>
</td>
</tr>
</s:iterator>
|
【Struts2五】ValueStack以及ognl表达式二(经常使用标签)的更多相关文章
- struts2官方 中文教程 系列十二:控制标签
介绍 struts2有一些控制语句的标签,本教程中我们将讨论如何使用 if 和iterator 标签.更多的控制标签可以参见 tags reference. 到此我们新建一个struts2 web 项 ...
- 在Struts2框架中使用OGNL表达式(在jsp页面中使用OGNL表达式)
1. Struts2引入了OGNL表达式,主要是在JSP页面中获取值栈中的值 2. 具体在Struts2中怎么使用呢?如下步骤 * 需要先引入Struts2的标签库(在JSP页面的最上面位置) > ...
- Struts2学习笔记(OGNL表达式)
Struts 2支持以下几种表达式语言: OGNL(Object-Graph Navigation Language),可以方便地操作对象属性的开源表达式语言: JSTL(JSP Standard T ...
- Struts2深入学习:OGNL表达式原理
今天看了ognl表达式,不是很理解,准备以后再回头复习: http://developer.51cto.com/art/201203/322509.htm#case1
- 3:4 OGNL 表达式二
总结: 一:ActionContext的结构: 1:set标签创建的对象也是作为非值栈对象. 2:(非值栈的存储都是以键值对的方式存的.) [问非值栈的 User对象] [用例] 关于request: ...
- struts2重点——ValueStack和OGNL
一.值栈(ValueStack) 1.实现类:OGNLValueStack 2.对象栈:CompoundRoot(针对的是类级别的) (1)继承自 ArrayList —— 先进后出 (2)提供了栈的 ...
- Struts2搭建及利用OGNL表达式弹出计算器
0x01 环境搭建 1.创建Struts2应用 创建一个动态网站项目 2.配置Tomcat启动环境 3.在WebContent目录下的WEB-INF文件夹中创建web.xml,Tomcat启动时会加载 ...
- Struts2 OGNL表达式、ValueStack
OGNL简介 OGNL,即Object-Graph Navigation Language,对象视图导航语言,是一种数据访问语言,比EL表达式更加强大: EL只能从11个内置对象中取值,且只能获取属性 ...
- Struts2之 OGNL表达式和值栈
技术分析之OGNL表达式概述(了解) 1. OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写 * 所谓对象图,即以任意 ...
随机推荐
- 邮箱地址自动提示jQuery插件
// mailAutoComplete.js v1.0 邮箱输入自动提示// 2010-06-18 v2.0 使用CSS class类代替CSS对象,同时增强代码可读性// 2010-06-18 v2 ...
- swiper实现响应式全屏自动轮播
html: <!--轮播 --> <div class="Excellent_swi"> <div class="swiper-contai ...
- Luogu P4299 首都 LCT
既然是中文题目,这里便不给题意. 分析: 这个题的做法据说是启发式合并? 但是我不会啊…… 进入正题,LCT是怎样做掉这道题的.记得在前面的一篇<大融合>的题解中,介绍过LCT维护子树信息 ...
- HYSBZ - 3750 Pieczęć(模拟)
题目: 一张n*m的方格纸,有些格子需要印成黑色,剩下的格子需要保留白色. 你有一个a*b的印章,有些格子是凸起(会沾上墨水)的.你需要判断能否用这个印章印出纸上的图案.印的过程中需要满足以下要求: ...
- 测试第一个Oracle存储过程
存储过程语句 //简单存储过程的例子 //每调用一次打印一次hello world create or replace procedure sayhelloworld as begin dbms_ou ...
- Quartz Spring分布式集群搭建Demo
注:关于单节点的Quartz使用在这里不做详细介绍,直接进阶为分布式集群版的 1.准备工作: 使用环境Spring4.3.5,Quartz2.2.3,持久化框架JDBCTemplate pom文件如下 ...
- C++——"%"运算符
基本介绍 r=a%b,余数的取值范围为-b+1~b-1,符号与a一致 要想得到0~b-1的余数,可以用:(a%b+b)%b 数位拆解 方法一:反复的:%10,/10 sizea = 0; while ...
- 动态规划法解最长公共子序列<算法分析>
一.实验内容及要求 1.要求按动态规划法原理求解问题: 2.要求在20以内整数随机产生两个序列数据: 3.要求显示随机产生的序列及最长公共子序列.二.实验步骤 1.随机产生数列: 2.输出随机序列: ...
- 03-js变量强制转换
<html> <head> <title>js中的变量强转</title> <meta charset="UTF-8"/> ...
- springboot技术
一 我们为什么要用SpringBoot? 1. SpringBoot核心功能 SpringBoot的核心最足要的功能是自动配置,简单说下springBoot,springboot可以替代额xml配 ...