struts2 标签初识 Control Tags
来源:互联网 发布:手机抽奖作弊软件 编辑:程序博客网 时间:2024/05/24 01:41
1、if 、elseif 和else用来改变结构
<div>Will Not Be Executed</div>
</s:if>
<s:elseif test="%{true}">
<div>Will Be Executed</div>
</s:elseif>
<s:else>
<div>Will Not Be Executed</div>
</s:else>
2、append
使用<s:append../>标签需要指定一个id属性,该属性确定拼接生成的新集合名称.<s:append../>标签接受多个<s:param.../>子标签,每个子标签指定一个集合,append标签负责将多个集合拼接成一个集合.
- <s:append var="myAppendIterator">
<s:param value="%{#request.names}" />
<s:param value="%{#request.names}" />
<s:param value="%{#request.names}" />
</s:append>
<s:iterator value="%{#myAppendIterator}">
<s:property />
</s:iterator>
3、generator
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
</head>
<body>
<h1>Struts 2 Generator tag example</h1>
1. Generator tag example.
<s:generator val="%{'java|.net|c|python|shell'}" separator="|">
<ol>
<s:iterator>
<li><s:property /></li>
</s:iterator>
</s:generator>
</ol>
2. Generator tag with converter example
<s:generator val="%{'java|.net|c|python|shell'}" separator="|"
converter="%{languageConverter}">
<ol>
<s:iterator>
<li><s:property /></li>
</s:iterator>
</s:generator>
</ol>
</body>
</html>
4、iterator
status否 String如果设置此参数,一个IteratorStatus的实例将会压入每个遍历的堆栈value否 Object/String要遍历的可枚举的(iteratable)数据源,或者将放入新列表(List)的对象id否 Object/String用来标识元素的id。在UI和表单中为HTML的id属性<%@ page contentType="text/html; charset=UTF-8" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%
List list = new ArrayList();
list.add("Max");
list.add("Scott");
list.add("Jeffry");
list.add("Joe");
list.add("Kelvin");
request.setAttribute("names", list);
%>
<html>
<head>
<title>Iterator</title>
</head>
<body>
<h3>Names: </h3>
<!--
1、此处的空property元素用于获得当前iterator的值
2、status被设成stuts,在iterator的里面就可以通过#stuts取得IteratorStatus的对象。IteratorStatus类包含当前序号信息,如是否第一个或最后一个,是否为奇数序号。这些信息在我们做格式化的时候,显得非常有用。
-->
<ol>
<s:iterator value="#request.names" status="stuts">
<s:if test="#stuts.odd == true">
<li>White <s:property /></li>
</s:if>
<s:else>
<li style="background-color:gray"><s:property /></li>
</s:else>
</s:iterator>
</ol>
</body>
</html>
http://blog.sina.com.cn/s/blog_3e3779c10100c0yj.html
1:#status.odd 是否奇数行
2:#status.count 当前行数
3:#status.index 当前行的序号,从0开始『#status.count=#status.index+1』
4:#status.first 是否第一行
5:#status.last 是否最后一行
6:#status.modules(int) 当前行数取模
5、merge
merge 标签的用法看起来非常像append标签,也是用于将多个集合拼接成一个集合,但是与append有区别。
如果采用append方式拼接,新集合的元素顺序为:
(1)第一集合的第1个元素
(2)第一集合的第2个元素
(3)第一集合的第3个元素
(4)第二集合的第1个元素
(5)第二集合的第2个元素
(6)第二集合的第3个元素
(7)第三集合的第1个元素
(8)第三集合的第2个元素
(9)第三集合的第3个元素
如果采用merge 方式拼接,新集合的元素顺序为:
(1)第一集合的第1个元素
(2)第二集合的第1个元素
(3)第三集合的第1个元素
(4)第一集合的第2个元素
(5)第二集合的第2个元素
(6)第三集合的第2个元素
(7)第一集合的第3个元素
(8)第二集合的第3个元素
(9)第三集合的第3个元素
merge标签的使用,与使用append标签的使用示例大致相同
http://younglibin.javaeye.com/blog/459077
<s:merge var="myAppendIterator">
<s:param value="%{#request.names}" />
<s:param value="%{#request.names}" />
<s:param value="%{#request.names}" />
</s:merge>
<s:iterator value="%{#myAppendIterator}">
<s:property />
</s:iterator>
6、sort
sort标签
sort标签对于指定的集合元素进行排序,排序时,必须提供自己的排序规则,即实现自己的Comparator,自己的Comparator需要实现java.util.Comparator接口。
使用sort标签时可指定如下几个属性:
7、subset
<s:subset source="%{#request.names}" start="1" count="3">
<s:iterator>
<s:property/>
</s:iterator>
</s:subset>
subset标签用于去得集合的子集,该标签的底层通过org.apache.struts2.util.Subset.IteratorFilter类提供实现.
使用subset标签可以指定的属性有:
- count: 可选属性,指定子集中元素的个数.在不指定该属性情况下,默认取得源集合的全部元素
- source: 可选属性,指定源集合.若不指定,默认取得ValueStack栈顶的集合.
- start:可选属性,指定子集从源集合中的第几个元素开始截取.默认从第一个开始截取,默认值为0
- decider:可选属性,指定由开发者自己决定是否选中该元素.
- struts2 标签初识 Control Tags
- struts2 标签初识 Data Tags
- struts2 标签初识 Form Tags
- struts2 标签初识 no Form ui Tags
- struts2 标签初识 Ajax Tags 上
- struts2 标签初识 Ajax Tags 下
- struts2 标签初识 Ajax Tags tree
- struts2.1 Control Tags
- Struts2 官方教程:控制标签(Control Tags)
- Struts2---tags标签
- struts2的struts-tags标签
- struts2标签Tags的用法
- Struts2 官方教程之Struts Tags(六)——Generic Tags(Control Tags )
- 初识 struts2 标签
- struts2标签定义文件 struts-tags-tld
- Struts2官方教程:表单标签 Form Tags
- struts2标签库(tags)学习笔记
- struts2 标签文件struts-tags.tld使用设置
- 在网页中处理ActiveXObject()的执行结果
- LINUX: USB-SERIAL / PL2303 工作流程
- 【转】ASP.NET 网站配置问题
- C++ 操作运算符优先级表
- platform_device和platform_driver
- struts2 标签初识 Control Tags
- Linux安装命令小结
- Ansi、Unicode、UTF8字符串之间的转换和写入文本文件
- Delhpi利用剪贴板快速导出(复制)数据到excel
- Oracle 基本操作命令学习
- vsftp配置说明
- 几个常见的key-value开源内存数据库
- HDFS的JAVA接口API操作实例
- php mysql 查询乱码 解决方法 总结 乱码总结 php 乱码