博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Struts2标签实现for循环
阅读量:5975 次
发布时间:2019-06-20

本文共 3490 字,大约阅读时间需要 11 分钟。

感悟:但是不建议使用这种方法,按照MVC框架的思想 ,应该把业务更多放在后台。前台尽量只进行数据展示。

 

转自:http://blog.csdn.net/guandajian/article/details/7334756

 

在struts2及webwork中要实现如:

1 for(int i=0;i<10;i++){2        //内容  3 }

 

还是需要一些技巧的,我在做分页条的时候,要输出页码,怪了,用迭代器不行的,看了一下struts2的文档及例子也没发现用计数器的地方,偶然看了一下bea标签,哦,原来如此....

1 
2
//起始值3
//循环控制变量4
5 counter:
//内容6
7

 

其中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 * 

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 nothing102 103   }104 105 }

 

    

 

//项目中的应用

${rs.f_courseId}  ${rs.f_coursename}  ${rs.f_term}  ${rs.f_week}  ${rs.f_credit}  ${rs.f_courseStart}  ${rs.f_courseEnd} 
查看
删除

 

转载于:https://www.cnblogs.com/x_wukong/p/3651849.html

你可能感兴趣的文章
关于java的引用、C++的指针、引用的深入分析
查看>>
CMD 修改Host文件 BAT
查看>>
linux用户管理的命令及手动添加用户
查看>>
Windows 7 家庭版如何启用Administrator账户
查看>>
我的友情链接
查看>>
mfs权威指南
查看>>
只是你没那么重要罢了
查看>>
javabean的初步认识学习
查看>>
GTK 安装步骤
查看>>
js 生成随机13位国际条码 支持获取校验位
查看>>
java根据开始时间和结束时间,计算中间天数,并打印
查看>>
Android apk的安装、卸载、更新升级(通过Eclipse实现静默安装)
查看>>
android幻灯片效果实现-Gallery
查看>>
node中exports与module.exports的区别
查看>>
PHP学习笔记2:文件
查看>>
jsrender简单使用
查看>>
window mysql-bin 转化为可读模式
查看>>
redis 安装及php扩展编译安装
查看>>
MPAndroidChart---饼状图PieChart
查看>>
PHP中基于b2core框架内部的网页上Html输出生成Word的处理
查看>>