Struts2标签实现for循环
感悟:但是不建议使用这种方法,按照MVC框架的思想 ,应该把业务更多放在后台。前台尽量只进行数据展示。
转自:http://blog.csdn.net/guandajian/article/details/7334756
在struts2及webwork中要实现如:
1 for(int i=0;i<10;i++){ 2 //内容 3 }
还是需要一些技巧的,我在做分页条的时候,要输出页码,怪了,用迭代器不行的,看了一下struts2的文档及例子也没发现用计数器的地方,偶然看了一下bea标签,哦,原来如此....
1 <s:bean name="org.apache.struts2.util.Counter" id="counter"> 2 <s:param name="first" value="1" /> //起始值 3 <s:param name="last" value="10" /> //循环控制变量 4 <s:iterator> 5 counter:<s:property/> //内容 6 </s:iterator> 7 </s:bean>
其中first属性指定循环起始值,last指定循环终止值,其它相关属性可以查看org.apache.struts2.util.Counter类源码。在下面迭代器中输入循环的当前值,即:current
干脆把源码贴出来吧!
-----------------------------------------------------------------------------------------------------------------------------
1 package org.apache.struts2.util; 2 3 import java.io.Serializable; 4 5 6 /** 7 * A bean that can be used to keep track of a counter. 8 * <p/> 9 * Since it is an Iterator it can be used by the iterator tag 10 * 11 */ 12 public class Counter implements java.util.Iterator, Serializable { 13 14 private static final long serialVersionUID = 2796965884308060179L; 15 16 boolean wrap = false; 17 18 // Attributes ---------------------------------------------------- 19 long first = 1; 20 long current = first; 21 long interval = 1; 22 long last = -1; 23 24 25 public void setAdd(long addition) { 26 current += addition; 27 } 28 29 public void setCurrent(long current) { 30 this.current = current; 31 } 32 33 public long getCurrent() { 34 return current; 35 } 36 37 public void setFirst(long first) { 38 this.first = first; 39 current = first; 40 } 41 42 public long getFirst() { 43 return first; 44 } 45 46 public void setInterval(long interval) { 47 this.interval = interval; 48 } 49 50 public long getInterval() { 51 return interval; 52 } 53 54 public void setLast(long last) { 55 this.last = last; 56 } 57 58 public long getLast() { 59 return last; 60 } 61 62 // Public -------------------------------------------------------- 63 public long getNext() { 64 long next = current; 65 current += interval; 66 67 if (wrap && (current > last)) { 68 current -= ((1 + last) - first); 69 } 70 71 return next; 72 } 73 74 public long getPrevious() { 75 current -= interval; 76 77 if (wrap && (current < first)) { 78 current += (last - first + 1); 79 } 80 81 return current; 82 } 83 84 public void setWrap(boolean wrap) { 85 this.wrap = wrap; 86 } 87 88 public boolean isWrap() { 89 return wrap; 90 } 91 92 public boolean hasNext() { 93 return ((last == -1) || wrap) ? true : (current <= last); 94 } 95 96 public Object next() { 97 return new Long(getNext()); 98 } 99 100 public void remove() { 101 // Do nothing 102 103 } 104 105 }
//项目中的应用
<s:bean name="org.apache.struts2.util.Counter" id="counter"><s:param name="first" value="1" /><s:param name="last" value="#request.num" /><s:iterator><tr bgcolor="ffffff" align="center"><td>${rs.f_courseId} </td><td>${rs.f_coursename} </td><td>${rs.f_term} </td><td>${rs.f_week} </td><td>${rs.f_credit} </td><td>${rs.f_courseStart} </td><td>${rs.f_courseEnd} </td><td><a href="">查看</a> <a href="">删除</a></td></tr></s:iterator> </s:bean>
转载于:https://www.cnblogs.com/x_wukong/p/3651849.html
Struts2标签实现for循环相关推荐
- struts2标签详解
struts2标签讲解 要使用Struts2的标签,只需要在JSP页面添加如下一行定义即可:<%@ taglib prefix="s" uri="/struts-t ...
- Struts2标签库常用标签(转)
struts2标签讲解 要使用Struts2的标签,只需要在JSP页面添加如下一行定义即可:<%@ taglib prefix="s" uri="/struts-t ...
- Struts2标签库和OGNL
学习内容 Struts 2标签库 OGNL 能力目标 熟练使用Struts 2常用标签 熟练使用OGNL 本章简介 前面我们编写的案例使用的都是HTML标签,这些标签并不能很好的与Struts 2框架 ...
- 使用Struts2标签
Struts2提供了大量标签帮助开发表现层页面,Struts2标签库与Struts1相比,不依赖于任何表现层技术,大部分可以在各种表现层技术中使用,包括最常用的jsp页面,也可以在Velocity和F ...
- Struts2 标签库
Struts 2标签简介 Struts 标签分类 使用Struts标签库 OGNL OGNL集合运算 OGNL表达式对静态属性的访问 控制标签 if/else if/else iterator gen ...
- struts2 标签中read-only=true 和disabled的区别
struts2 标签中read-only=true 和disabled的区别 都不能对内容进行修改,区别在readonly提交的时候还会有该字段,但是disabled会在提交的时候忽略该字段 转载于: ...
- java struts2标签库 常用标签
基本概述 对于一个MVC框架而言,重点是实现两部分:业务逻辑控制器部分和视图页面部分.Struts2作为一个优秀的MVC框架,也把重点放在了这两部分上.控制器主要由Action来提供支持,而视图则是由 ...
- Struts2标签 逻辑标签和UI标签
效果如下图: 先配置struts.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE s ...
- Struts2框架--学习笔记(下):OGNL表达式、值栈操作、拦截器、struts2标签、文件上传
一.OGNL概述:OGNL是一种表达式 (1)在struts2中操作值栈数据. (2)一般把ognl在struts2中操作,和struts2标签一起使用操作值栈. (3)ognl不是strut2的一部 ...
最新文章
- linux下的文件和文件夹的权限问题
- 2018机器阅读理解技术竞赛,奇点机智获第一名
- 【转】Eclipse的Debug调试技巧大全
- (uC/OS-II学习笔记)关于共享资源与信号量
- mongodb 存储过程 java_Java面试题分享-MongoDB
- 全球及中国航空发动机市场动态前景及十四五项目专项调研报告2021-2027年版
- dreamweaver 疑问
- Let‘s Play Curling 二分,lower_bound(2020.12.南京)
- mysql联合索引的数据结构
- bzoj 4573: [Zjoi2016]大森林
- VSCode 实时预览HTML网页效果 - Live Server插件
- 【Pre蓝桥杯嵌入式】移植LCD程序+建立工程+LCD程序分析
- Basic concepts behind Web Audio API
- 【面试那点儿事】囧,分机号的故事
- springBoot 注入@Slf4j,框架中的方法无法调用。。。
- Java学习(21-25天, 树与二叉树)
- python 大智慧 dll 下单_大智慧股票池自动下单教程,大智慧预警信号自动写入到文本插件...
- 国际贸易的价格表示方法贸易术语
- 提升页面转化率100招
- Facebook的23岁创始人