用了很久struts2这个框架了,每天都在忙忙碌碌也没什么时间来整理与总结,刚好今天周末也不知道那来的兴致突然想着来整理下(可能是看天花板老眼昏花灵光一现吧!!!).当前:"流氓会武术,谁也挡不住"而学习中实践与总结是两个不可或缺的过程.
要很好的用好struts2标签首先必须要引入struts2框架必要的jar.
下面的就是一些常用的struts2标签了.
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sx" uri="/struts-dojo-tags" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Struts2标签学习</title>
<s:head theme="xhtml"/>
<sx:head parseContent="true"/>
</head>
<body>
控制标签<br/><hr size="3" color="red">
if /elseif/ else @用于逻辑判断<br/>
<br/>---------------------------------------------------------------<br/>
append @用于将多个集合合并<br/>
<s:set name="appList1" value="{'李佳雄','何枫','程兵'}"/>
<s:set name="appList2" value="{'李丹','吴燕霞','陈健'}"/>
<s:append var="applist">
<s:param value="appList1"/>
<s:param value="appList2"/>
</s:append>
<s:iterator value="#applist">
<s:property/>
</s:iterator>
<br/>---------------------------------------------------------------<br/>
subset @用户截取集合中的子集; 注:decider:可选属性,指定由开发者自己决定是否选中该元素.
<br/>
<s:set name="subList" value="{'1','2','3','4'}"></s:set>
<s:subset source="#subList" start="1" count="2">
<s:iterator>
<s:property/>
</s:iterator>
</s:subset>
<br/>----------------------------------------------------------------<br/>
数据标签<br/><hr size="3" color="red">
action @用于导入一个Action<br/>
使用action标签,可以允许在jsp页面中直接调用Action,在调用Action时候,可以指定需要被调用的Action的name和namespace
如果指定了executeResult参数的属性值为true,该标签会把Action的处理结果(视图资源)包含到本页面中,使用Action标签指定属性有:
<br/>
id:可选属性,作为该Action的引用ID<br/>
name:必选属性,指定调用Action<br/>
namespace:可选属性,指定该标签调用Action所属namespace<br/>
executeResult:可选属性,指定是否将Action的处理结果包含到本页面中,默认值为false,不包含<br/>
ignoreContextParam:可选参数,指定该页面的请求参数是否需要传入调用的Action中,默认值是false,即传入参数.<br/>
s:param 是以request方式的值的,而不是以参数传值,所以request.getParameter("") 会获取不到值,通过request.getAttribute("") 方式可以获取<br/>
<br/>--------------------------------------------------------------<br/>
date @用于格式化日期<br/>
<s:set name="dt" value="new java.util.Date()"></s:set>
当期系统时间是:<s:date name="dt" format="yyyy-MM-dd HH:ss:mm"/>
<br/>--------------------------------------------------------------<br/>
debug @用于调试程序,让开发人员一目了然的知道当前请求、值栈、栈中的各项参数<br/>
<br/>--------------------------------------------------------------<br/>
include @用于导入一个jsp文件,等同于:jsp:include标签<br/>
<s:include value="success.jsp"></s:include>
<br/>--------------------------------------------------------------<br/>
UI标签<br/>
<hr size="3" color="red">
<s:form>
checkboxlist @复选框列表<br>
list 生成;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
name:checkboxlist 的名字<br>
list:checkboxlist要显示的列表<br>
value:checkboxlist默认被选中的选项,checked=checked<br>
<s:checkboxlist theme="simple" name="checkbox1" list="{'上网','看书','爬山','游泳','唱歌'}" value="{'上网','看书'}" ></s:checkboxlist>
<br/>
Map 生成;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
name:checkboxlist 的名字<br>
list:checkboxlist要显示的列表<br>
listKey:checkbox 的value的值<br>
listValue:checkbox 的 lablel(显示的值)<br>
value:checkboxlist 默认被选中的选项,checked=checked<br>
<s:checkboxlist theme="simple" name="checkbox2" list="#{1:'上网',2:'看书',3:'爬山',4:'游泳',5:'唱歌'}" listKey="key" listValue="value" value="{1,2,5}" ></s:checkboxlist>
<br/>--------------------------------------------------------------<br/>
<br/>--------------------------------------------------------------<br/>
combobox <br/>
<s:combobox theme="simple" label=" 选择你喜欢的颜色" name="colorNames" headerValue="------请选择------" headerKey="1" list="{'红 ','橙','黄','绿','青','蓝','紫'}" />
<br/>--------------------------------------------------------------<br/>
sx:datetimepicker @日期选择控件 <br/>
使用步骤:声明:我这里用的是strut 2.1.8.1,在struts2.0的版本中可能有所不同;<br/>
1.导入struts2-dojo-plugin-2.1.8.1.jar DoJo 插件包;<br/>
2. 导入标签:<%--@ taglib prefix="sx" uri="/struts-dojo-tags"--%>;<b/>
3.在需要使用的页面中的head标签之间加上<%-- <sx:head parseContent="true"/> --%>;<br/>
<sx:datetimepicker label="birthday" name="bir" value="#dt"></sx:datetimepicker>
<sx:datetimepicker label="birthday" name="bir" value="#dt"></sx:datetimepicker>
<br/>--------------------------------------------------------------<br/>
sx:textarea @textarea控件 <br/>
<sx:textarea label="简介"
value="sx:textareasx:textareasx:<br/>
textareasx:textareasx:textareasx:<br/>
textareasx:textareasx:<br/>
textareasx:textarea">
</sx:textarea>
<br/>--------------------------------------------------------------<br/>
sx:tree @树控件 <br/>
<sx:tree id="tree1" label=" 根节点">
<sx:treenode id="tn1" label="财务部" />
<sx:treenode id="tn2" label="开发部">
<sx:treenode id="tn3" label="JAVA" />
<sx:treenode id="tn4" label=".NET" />
</sx:treenode>
<sx:treenode id="tn5" label="人事部" />
</sx:tree>
<s:debug/>
</s:form>
</body>
</html>
其标签所呈现的效果是: