这个是Sturts自带标签 只要导入struts2-core-2.0.11.2.jar 核心包
就可以使用 并且内容大概与jsp的c标签相同
1.导入
<%@taglib uri="/struts-tags" prefix="s"%>
2.就可以直接使用了
Struts2的标签共分为五大类:
一、逻辑控制标签
用于进行逻辑控制输出,主要分为以下几类:
1、条件标签:用于执行基本的条件流转
<c:if>拥有一个test属性,其表达式的值用来决定标签里的内容是否显示,
<s:if test="#request.username=='hzd'">北京欢迎你</s:if> <selseif test="#request.username=='清风'">上海欢迎你</s:elseif> <s:else>同上
2、迭代标签:用于遍历集合(java.util.Collection)或者枚举值(java.util.Iterator)类型的对象,value属性表示集合或枚举对象
,status属性表示当前循环的对象,在循环体内部可以引用该对象的属性
<s:iterator value="userList" status="user"> 姓名:<s:property value="user.userName" /> 年龄:<s:property value="user.age" /> </s:iterator>
3、组合标签:用于将多个枚举值对象进行叠加,形成一个新的枚举值列表,如将3个列表对象进行了组合,形成新的列表对象
<s:append var="newIteratorList"> <s:param value="%{myList1}" /> <s:param value="%{myList2}" /> <s:param value="%{myList3}" /> </s:append> 输出: <s:iterator value="%{#newIteratorList}"> <s:property /> </s:iterator>
4、分割标签:用于将一个字符串进行分割,产生一个枚举值列表,下面的代码将分割成三个字符串,然后输出
<s:generator val="%{'aaa,bbb,ccc'}">
<s:iterator>
<s:property />
</s:iterator>
</s:generator>
5、合并标签;用于将多个枚举值按照数组的索引位置进行合并
<s:merge var="newMergeList"> <s:param value="%{mylist1}">--设mylist1列表中有a,b,c三个元素 <s:param value="%{mylist2}">--设mylist2列表中有1,2,3三个元素 </s:merge>
合并后新的列表的元素及其顺序为:a,1,b,2,c,3
<s:iterator value="%{#newMergeList}">
<s:property />
</s:iterator>
二、数据输出标签
数据输出标签用以输出页面中的元素、属性、隐含变量等,即包括静态文本的输出,也包括Struts2集成的各种变量的输出。
<s:a errorText="删除错误" preInvokeJS="confirm('确认删除?')" href="test.jsp"> <img src="/image/delete.gif" /> </s:a>
2)action标签:可以直接调用action类中的函数,前提是该action类在Struts.xml中有定义,name属性用于指向映射文件中配置的action函数,excuteResult是否执行结果集的跳转
<s:action name="LoginAction" executeResult="true" />--表示执行LoginAction的默认处理方法execute() <s:action name="LoginAction!login" executeResult="true" />--表示执行LoginAction的处理方法login()
4)日期标签:用以输出一个格式化的日期对象,name表示要输出的对象,format表示输出的日期格式
<s:date name="user.birthday" format="dd/MM/yyyy" /> <s:date name="user.birthday" format="%{getText('some.i18n.key')}" /> <s:date name="user.birthday" />--默认格式
5.
<s:property value="${user }"/> 获得拿到的值
6.表单
<s:form></s:form>使用
(1):<s:textfield> ---- 文本输入框
使用:<s:textfield name=”实体Bean。属性”></s:textfield>
(2):<s:textarea> ----- 文本域输入框
使用:<s:textarea name=”实体Bean。属性”></s:textarea>
(3):<s:password> ----- 密码输入框
使用:<s:password name=”实体Bean。属性”></s:password>
前三个基本都是一样的。如果是要显示值的话可以这样:value = “实体Bean。Get***()”。
(4):<s:radio list=””> ---- 单选按钮
使用:<s:radio list=””>其中list 属性是必须要有的。
<1>:第一种方式:list = “#{‘male’:’男’,’female’:’女’}”
<2>:第二中方式:list = “#request/session.list”。 ---- 与action结合起来了。
如果要默认选中的话后面加上value = “”.也可以通过javascript的方式来默认选中。
(5):<s:url/> --- url连接
<s:a/> --- 超链接
这两个标签一般结合起来来使用。
使用:<s:url id = “id” action = “userAction”/><s:a href=”%{id}”/>
(6):<s:form/> --- 获取相应form的值
使用:
<1>:<s:form action = “userAction”>
<2>:<s:url id=”userId” action = “userAction”> -- 定义了一个userId的指向userActionde 路径
<s:form action=”%{userId}”>
(7):<s:submit/> ---- 提交标签
(8):<s:reset/> ---- 重置标签
(9):<s:hidden/> ---- 隐藏域标签
使用:<s:hidden name=”实体Bean。属性” value=”%{#request/session.实体Bean。属性}”/>
(10):<s:combobox/> ---- 下拉框配合输入框一起使用
使用:<s:combobox name=”age” list=””>
<1>:list = “{18,20,30}”
<2>:list = “#request/session.list”
(11):<s:checkbox/> ---- 多选框
使用:<s:checkbox name=”自己随便起” value = “值” > 足球
(12):<s:checkboxlist/> ---- 复选框
使用:<s:checkboxlist name=”自己随便起” label = “标签前面的名字” list=””>
<1>:list = “{‘hibernate’, ‘spring’, ‘strust2’}”
<2>:list = “#request/session.list”.
如果想默认选中的话,那么加上value=””