Struts1.x系列教程(7):Logic标签库.docx
文本预览下载声明
上一篇: HYPERLINK /nokiaguy/archive/2009/01/archive/2009/01/archive/2009/01/archive/2009/01/archive/2009/01/archive/2009/01/archive/2009/01/archive/2009/01/18/251805.html Struts1.x系列教程(6):Bean标签库??? Struts Logic标签库包含了如下三类标签:??? 1.?循环标签:iterate标签。用于枚举数组、集合类型对象中的元素。
2.?条件处理标签:用于是否相等、比较大小等判断。这类标签有empty、equal 、greaterEqual、greaterThan、lessEqual、lessThan、match、messagesNotPresent、messagesPresent、notEmpty、notEqual、notMatch、notPresent、present。
3.?流控制标签:用于转向其他的页面。redirect和forward属性这类标签。???
一、循环标签(iterate)??? logic:iterate标签用于对数组以及集合类型对象中的元素进行枚举。logic:iterate标签在功能上和JSTL中的c:forEach标签非常相似。logic:iterate标签的常用属性的意义和作用如下:
1.?id:一个表示集合中的每一个元素的变量,被保存在page范围中。
2.?name:一个数组或集合对象名,或是一个包含有getter方法的JavaBean。
3.?property:如果name是一个JavaBean,那么property就是这个JavaBean的属性名。logic:iterate标签通过这个属性名获得要枚举的数组或集合对象。
4.?indexId:循环过程中的索引(从0开始),相当于Java中在for循环中使用变量i来获得循环中每一项的索引。
5.?offset:偏移量。也就是从数组或集合的第几个元素开始枚举。
6.?length:从offset开始,要枚举的元数的个数。
7.?scope:name变量保存的范围。如果不指定,logic:iterate标签将搜索所有的范围。也就是说,依次按着page、request、session和application进行搜索,如果在不同的范围有同样的变量名,以先搜索到的为准。???
下面的例子演示了logic:iterate标签的使用。在samples工程目录目录中建立一个iterate.jsp文件,代码如下:
??%@?page??import=java.util.*?pageEncoding=GBK%??%@?taglib?uri=/tags-logic?prefix=logic%??%@?taglib?uri=/tags-bean?prefix=bean%??htmlheadtitle测试iterate标签/title/headbody??%??????String?array[]?=?{?bill,?王明,?赵阳?};??????pageContext.setAttribute(array,?array);????????ListString?list?=?new?LinkedListString();??????list.add(计算机);??????list.add(英语);??????pageContext.setAttribute(list,?list);??????pageContext.setAttribute(iterator,?list.iterator());????????MapString,?String?map?=?new?HashMapString,?String();??????map.put(book,?书);??????map.put(apple,?苹果);??????pageContext.setAttribute(keySet,?map.keySet());??????pageContext.setAttribute(entrySet,?map.entrySet());??%??????????????logic:iterate?id=s?name=array?indexId=i?offset=1?length=1????????array[bean:write?name=i/]?=?bean:write?name=s/nbsp;??????/logic:iterate??????????br??????jsp:useBean?id=form?class
显示全部