Struts2标签库详解.doc
文本预览下载声明
Taglib (Struts2标签库)
Struts2 Taglib抽象了不同表示技术,现在Struts2主要支持三种表示技术:JSP,FreeMarker和Velocity。但部分的Tag在三种表示技术下都可以使用,但是也有部分只能在某一种情况下使用。
Tab可以分为两类:通用标签和UI标签。
4.1节 通用标签
通用标签用来在页面表示的时候控制代码执行的过程,这些标签也允许从Action或者值堆栈中取得数据。例如地域,JavaBeans,URLs,和action。
控制标签控制程序执行,例如:if,else,iterator
数据标签管理数据的取得和创建,例如:bean,push,i18n
控制标签
if标签
描述
If标签用来控制基本的条件处理流程,通常和else标签或者elseif标签连用。
参数
名字 是否必须 默认值 可否使用表达式 类型 描述 id 否 ? 是 String 用来表示该元素,对于UI和Form标签来说直接转变为HTML id属性 test 是 ? 是 Boolean 用来决定是否显示标签内部内容的表达式 ?例子
s:if test=%{false}
divWill Not Be Executed/div
/s:if
s:elseif test=%{true}
divWill Be Executed/div
/s:elseif
s:else
divWill Not Be Executed/div
/s:else
elseIf 标签
参考if标签
else 标签
参考if标签
append标签
描述
用来做iterator标签的辅助,将不同iterator中的内容合在一个iterator中。
参数
名字 是否必须 默认值 可否使用表达式 类型 描述 id 否 ? 是 String 用来保存结果iterator的对象在value context中的名字。 ?例子
Action类
public class AppendIteratorTagAction extends ActionSupport {
?
private List myList1;
private List myList2;
private List myList3;
?
?
public String execute() throws Exception {
?
myList1 = new ArrayList();
myList1.add(1);
myList1.add(2);
myList1.add(3);
?
myList2 = new ArrayList();
myList2.add(a);
myList2.add(b);
myList2.add(c);
?
myList3 = new ArrayList();
myList3.add(A);
myList3.add(B);
myList3.add(C);
?
return done;
}
?
public List getMyList1() { return myList1; }
public List getMyList2() { return myList2; }
public List getMyList3() { return myList3; }
?
标签使用
s:append id=myAppendIterator
s:param value=%{myList1} /
s:param value=%{myList2} /
s:param value=%{myList3} /
/s:append
s:iterator value=%{#myAppendIterator}
s:property /
/s:iterator
?generator 标签(JSP Tag)
描述
从val属性生成一个iterator。
参数
例子
例1:
生成一个简单的iterator,并且使用iterator标签打印出内容。
s:generator val=%{aaa,bbb,ccc,ddd,eee}
s:iterator
s:property /br/
/s:iterator
/s:generator
?
例2:
生成一个iterator,使用count属性。因为count属性值为3,所以只有前三个内容(aaa,bbb,ccc)在生成的iterator中。
Generate an iterator with count attribute
s:genera
显示全部