a
a标签创建一个HTML超链接,等价于HTML 的<a href=""....
示范代码:
<s:a href="login.action">登陆</s:a>
使用action标签 可以允许在JSP页面中直接调用Action。
范例如下:
<s: action name="tag2" executeResult="false" />
actionerror
这个标签负责输出错误信息到客户端。
示范代码:
Action代码如下:
Action代码如下:
public String execute()
{
addActionError("第一条错误消息!");
addActionError("第二条错误消息!");
return SUCCESS;
}
JSP中:
<s:actionerror/>
actionmessage
这个标签负责输出提示信息到客户端,
例子如下:
Action代码如下:
{
addActionMessage("第一条普通消息!");
addActionMessage("第二条普通消息!");
return SUCCESS;
}
JSP代码如下:
<s:actionmessage />
用来做iterator标签的辅助,将不同iterator中的内容合在一个iterator中。
例子:
<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>
bean
bean标签 用于创建一个JavaBean的实例。
示范样例:
<s:bean name="lee.Person" id=“p”>
<!--使用Param标签为lee。Person类的实例传入参数-->
<s:param name="name" value="'yeeku'"/>
<s:param name="age" value="29"/>
</s:bean>
checkbox
checkbox标签输出一个HTML复选框,等价于HTML代码:<input type="checkbox" .../>。
示范代码:
<s:checkbox label="性别" name="user.sex" value="true" fieldValue="dddd"/>
checkboxlist
标签输出一个 复选框。
<s:form>
<s:checkboxlist name="interest" list="{'足球','篮球','排球','游泳'}" label="兴趣爱好"/>
</s:form>
combobox
combobox标签生成一个单行文本框和下拉列表框的结合。
<s:combobox label="请选择您喜欢的图书" theme="css_xhtml" labelposition="top"
list="{'Spring2.0' , 'J2EE' , 'Ajax'}"
size="20" maxlength="20" name="book"/>
conponent
conponent标签用于使用自定义标签。因为使用自定义组件还是基于主题,模板管理的,因此在使用component标签,常常需要指定如下3个属性:
theme:自定义组件所使用的主题,默认使用xhtml主题。
templateDir:指定自定义组件的主题目录,默认使用系统的主题目录,即template目录。
template:指定自定义组件所使用的模板。
<s:component template="mytemplate.jsp">
<s:param name="list" value="{'Spring2.0' , 'J2EE' , 'Ajax'}" />
</s:component>
date
date标签 用于格式化输入一个日期,还可以计算指定日期和当前时刻之间的时差。
示范代码:
<s:date name="#attr.now" format="dd/MM/yyyy" nice=“true”/>
datetimepicker
datetimepicker标签就是生成一个有日期控件的文本输入框。它有一个前提就是要在<head></head>内加一个"<s:head theme="ajax" />",然后可以在form内加上该标签。
示范代码:
<s:datetimepicker name="user.birthday" label="出生日期" value="%{'2008-9-20'}"/>
debug
debug标签主要用于辅助测试,它在页面上生成一个超链接,通过该链接可以查看ValueStack和Stack Context 中的所有值信息。
使用debug标签只有一个id属性,这个属性仅仅是该元素一个引用id。
在页面上增加<s:debug/>标签,通过debug标签,可以看的系统中ValueStack离得全部信息,并可以看到Stack Context中的属性。
<s:debug></s:debug>
div
div是struts2 ajax中最基础的标签,其他的标签均和div有关系。div的最大的用途就是可以异步的更新div中的内容。这里写一些div基本的应用,其他的等写别的标签的时候再写。
示范代码:
<s:div href="%{url}">Initial Content</sx:div>
<s:doubleselect
label="请选择所在省市" name="province" list="provinces" listKey="id"
listValue="name" doubleList="cities"
doubleListKey="id" doubleListValue="name"
doubleName="city" headerKey="-1"
headerValue="--- 请选择 ---"
emptyOption="true" />
else
else标签用来控制基本的条件处理流程,通常和if、elseif标签连用。
<s:if test="%{false}">
<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>
elseif
elseif标签用来控制基本的条件处理流程,通常和if标签连用。
例子
<s:if test="%{false}">
...</s:if>
<s:elseif test="%{true}">
<div>Will Be Executed</div>
</s:elseif>
<s:else>
...</s:else>
fielderror
fielderror标签输出action的fieldErrors属性保存的字段错误,fieldErrors是一个map类型的属性。
示范代码:
<s:fielderror/>
file
file标签输出一个HTML文件选择框,等价于html代码:<input type="file" .../>。
<s:file name="uploadfile" accept="text/*" />
<s:file name="uploadfile" accept="text/html,text/plain" />
form
form 标签输出一个 HTML from
例子:
<s:form action="exampleSubmit" method="post" enctype="multipart/form-data">
<s:submit />
<s:reset />
</s:form>
可以上传文件的form。
generator
使用generator标签可以将指定字符串按指定分隔符分成多个子串,临时生成的多个子串可以使用iterator标签来迭代输出。可以这样理 解:generator将一个字符串转化成一个集合。在该标签的标签体内,整个临时生成的集合将位于ValueStack的顶端,蛋一旦该标签结束,该集 合将被移出ValueStack。
head
head标签主要用于成生HTML主要页面的HEAD部分。国为有些主题需要包含特定的CSS和javascript代码,而该标签则用于生成对这此CSS和javaScript代码的引用。
示范代码:
<head>
<title>page 1</title>
<s:head/>
</head>
hidden
hidden标签输出一个HTML隐藏表单元素,等价于HTML代码:<input type="hidden" .../>。
在xhtml主题下,hidden标签与其他的标签不一样,hidden标签并不输出表行。xhtml主题直接从simple主题继承了
hidden.ftl模板。
示范代码:
<s:hidden name="id" value="s"/>
i18n
该标签用于加载资源包到值堆栈。它可以允许text标志访问任何资源包的信息,而不只当前action相关联的资源包。
示范代码:
<s:i18n name="ApplicationMessages">
<s:text name="HelloWorld" />
</s:i18n>
if
If标签用来控制基本的条件处理流程,通常和else标签或者elseif标签连用。
例子:
<s:if test="%{false}">
<div>Will Not Be Executed</div>
</s:if>
include
include标签 用于将一个JSP页面,或者一个Servlet包含到本页面中。
示范代码:
<h2>使用s:include标签来包含目标页面</h2>
<s:include value="include-file.jsp"/>
<!--使用include标签来包含其他页面,并且传入参数-->
<s:include value="include-file.jsp">
<s:param name="author" value="'yeeku'" />
</s:include>
迭代处理一个java.util.Connection或者java.util.Iterator对象
例子:
<s:iterator value="users" status="userStatus">
<s:property value="fullName" />
<s:if test="!#userStatus.last">,</s:if>
</s:iterator>
xhtml主题下的label 标签输出两个 HTML的label标签(simple主题下的label标签只输出一个HTML label标签)。分别位于一行的两列,左列的label标签器提示作用,右列的label标签用于显示只读的action属性数据。
示范代码:
<s:label label="用户名" name="user.username"/>