Struts2 标签库
简介:Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依赖于任何表现层技术,也就是说strtus2提供了大部分标签,可以在各种表现技术中使用。包括最常用的jsp页面,也可以说Velocity和FreeMarker等模板技术中的使用
标签分类: 非UI标签 UI标签
非UI标签
定义:主要用于数据访问,逻辑控制等的标签。非UI标签可分为流程控制标签(包括用于实现分支、循环等流程控制的标签)和数据访问标签(主要包括用户输出ValueStack中的值,完成国际化等功能的);
控制标签:
<s:if text="true/false" id=''xxx''>
<s:elseif text="true/false" id=''xxx''>
<s:else text="true/false" id=''xxx''>
解释:test属性,其表达式的值用来决定标签里内容是否显示。
id属性用来标示这个标签的
循环标签(和其辅助标签):
1, <s:iterator value="userList" status="User">
<s:property value="user.userName" />
</s:iterator>
解释:value属性是我们要循环的集合或者枚举 status是我们集合中的摸一个对象
<s:property >是用来输出他的value值到页面的,当没有标写property的value时 会默认输出userList中的元素对象
2,<s:append id="allList">
<s:pama value="List1">
<s:pama value="List2">
</s:append>
解释:把list1和list2添加到allList中去
3,<s:generator val="%{"aaa,bbb,cccc,ddd,eeee,ffff"}" count='3'>
<s:iterator>
<s:property/>
</s:iterator>
</s:generator>
解释:按照count中的值来获取val中的 的前几项值组成一个新的迭代器,用iterator来输出迭代器中的类容
排序标签:
1,<s:sort comparator="myComparator" source="myList">
<s:iterator>
<s:property value="..." />
</s:iterator>
</s:sort>
解释:comparator属性指定比较器 source指定需要比较的list 通过迭代器可以输出这个list中的类容
数据标签
1, <s:action name="success">
<b><i>s:action标签用于在页面显示结果.</i></b>
</s:action>
解释:这里使用<s:action>标签进行页面跳转,并用于显示处理的结果。
2, <s:bean name="com.sterning.companyName" id="uid">
<s:param name="name">sterning</s:param>
<s:property value="%{name}" /><br>
</s:bean>
解释:用name关联到相应的bean中 获得name属性并赋值为name
UI标签
定义:UI标签主要是指Form相关的标签,UI标签又分为两部分:form标签和构成form内部字段的其他标签。
<s:form action="xxx">
<s:textfield >
<s:texteare>
<s:select name="user.gender" list="genderTypeList" listKey="id" listValue="name">
<s:password>
<s:submit >
<s:reset>
</s:form>
解释:用过form的都知道上面是什么意思吧?我支队下面介绍;
在这些标签中会有横多属性,和正常的html页面一样,这些标签中的属性包括样式属性,js属性和通用属性;
样式属性:
cssClass |
定义html class 属性 |
cssStyle |
定义html style属性 |
title |
定义html title属性 |
disabled |
定义html disabled属性 |
JS属性:
属性 |
onclick |
ondbclick |
onmousedown |
onmouseup |
onmouseover |
onmouseout |
onfocus |
onblur |
onkeypress |
onkeyup |
onkeydown |
onselect |
onchange |
(标签库 还有 ajax支持标签 模块主题支持标签 ognl支持标签等等!! 后续会慢慢整理)