史上最详细的struts 2 标签整理.docx
《史上最详细的struts 2 标签整理.docx》由会员分享,可在线阅读,更多相关《史上最详细的struts 2 标签整理.docx(16页珍藏版)》请在冰豆网上搜索。
史上最详细的struts2标签整理
史上最详细的struts2标签整理
a
a标签创建一个HTML超链接,等价于HTML的示范代码:
ahref="login.action">登陆
a>
更多a信息
action
使用action标签可以允许在JSP页面中直接调用Action。
范例如下:
actionname="tag2"executeResult="false"/>
更多action信息
actionerror
这个标签负责输出错误信息到客户端。
示范代码:
Action代码如下:
publicStringexecute()
{
addActionError("第一条错误消息!
");
addActionError("第二条错误消息!
");
returnSUCCESS;
}....
JSP中:
actionerror/>
更多actionerror信息
actionmessage
这个标签负责输出提示信息到客户端,例子如下:
Action代码如下:
publicStringexecute()
{
addActionMessage("第一条普通消息!
");
addActionMessage("第二条普通消息!
");
returnSUCCESS;
}
JSP:
actionmessage/>
更多actionmessage信息
append
用来做iterator标签的辅助,将不同iterator中的内容合在一个iterator中。
例子:
appendid="myAppendIterator">
paramvalue="%{myList1}"/>
paramvalue="%{myList2}"/>
paramvalue="%{myList3}"/>
append>
iteratorvalue="%{#myAppendIterator}">
property/>
iterator>
更多append信息
bean
bean标签用于创建一个JavaBean的实例。
示范样例:
beanname="lee.Person"id=“p”>
--使用Param标签为lee。
Person类的实例传入参数-->
paramname="name"value="'yeeku'"/>
paramname="age"value="29"/>
bean>
更多bean信息
checkbox
checkbox标签输出一个HTML复选框,等价于HTML代码:
。
示范代码:
checkboxlabel="性别"name="user.sex"value="true"fieldValue="dddd"/>
更多checkbox信息
checkboxlist
标签输出一个复选框。
示范代码:
form>
checkboxlistname="interest"list="{'足球','篮球','排球','游泳'}"label="兴趣爱好"/>
form>
更多checkboxlist信息
combobox
combobox标签生成一个单行文本框和下拉列表框的结合。
示范代码:
comboboxlabel="请选择您喜欢的图书"theme="css_xhtml"labelposition="top"
list="{'Spring2.0','J2EE','Ajax'}"
size="20"maxlength="20"name="book"/>
更多combobox信息
conponent
conponent标签用于使用自定义标签。
因为使用自定义组件还是基于主题,模板管理的,因此在使用component标签,常常需要指定如下3个属性:
theme:
自定义组件所使用的主题,默认使用xhtml主题。
templateDir:
指定自定义组件的主题目录,默认使用系统的主题目录,即template目录。
template:
指定自定义组件所使用的模板。
示范代码:
componenttemplate="mytemplate.jsp">
paramname="list"value="{'Spring2.0','J2EE','Ajax'}"/>
component>
更多conponent信息
date
date标签用于格式化输入一个日期,还可以计算指定日期和当前时刻之间的时差。
示范代码:
datename="#attr.now"format="dd/MM/yyyy"nice=“true”/>
更多date信息
datetimepicker
datetimepicker标签就是生成一个有日期控件的文本输入框。
它有一个前提就是要在
内加一个"headtheme="ajax"/>",然后可以在form内加上该标签。
示范代码:
datetimepickername="user.birthday"label="出生日期"value="%{'2008-9-20'}"/>
更多datetimepicker信息
debug
debug标签主要用于辅助测试,它在页面上生成一个超链接,通过该链接可以查看ValueStack和StackContext中的所有值信息。
使用debug标签只有一个id属性,这个属性仅仅是该元素一个引用id。
在页面上增加debug/>标签,通过debug标签,可以看的系统中ValueStack离得全部信息,并可以看到StackContext中的属性。
debug>
debug>
//直接在jsp页面上面添加这样的标签,就可以生产一个查看debug信息的链接
更多debug信息
示范代码:
div
div是struts2ajax中最基础的标签,其他的标签均和div有关系。
div的最大的用途就是可以异步的更新div中的内容。
这里写一些div基本的应用,其他的等写别的标签的时候再写。
示范代码:
divhref="%{url}">InitialContent
div>
--最简单的例子,从指定的url获取信息更新自己的内容-->
更多div信息
doubleselect
doubleselect标签输出关联的两个HTML列表框,产生联动效果。
doubleselect
label="请选择所在省市"name="province"list="provinces"listKey="id"
listValue="name"doubleList="cities"
doubleListKey="id"doubleListValue="name"
doubleName="city"headerKey="-1"
headerValue="---请选择---"
emptyOption="true"/>
更多doubleselect信息
else
else标签用来控制基本的条件处理流程,通常和if、elseif标签连用。
例子
iftest="%{false}">
WillNotBeExecuted
if>
elseiftest="%{true}">
WillBeExecuted
elseif>
else>
WillNotBeExecuted
else>
更多else信息
elseif
elseif标签用来控制基本的条件处理流程,通常和if标签连用。
例子
iftest="%{false}">
...
if>
elseiftest="%{true}">
WillBeExecuted
elseif>
else>
...
else>
更多elseif信息
fielderror
fielderror标签输出action的fieldErrors属性保存的字段错误,fieldErrors是一个map类型的属性。
示范代码:
fielderror/>
更多fielderror信息
file
file标签输出一个HTML文件选择框,等价于html代码:
。
示范代码:
filename="uploadfile"accept="text/*"/>
filename="uploadfile"accept="text/html,text/plain"/>
更多file信息
form
form标签输出一个HTMLfrom例子:
formaction="exampleSubmit"method="post"enctype="multipart/form-data">
submit/>
reset/>
form>
可以上传文件的form。
更多form信息
generator
使用generator标签可以将指定字符串按指定分隔符分成多个子串,临时生成的多个子串可以使用iterator标签来迭代输出。
可以这样理解:
generator将一个字符串转化成一个集合。
在该标签的标签体内,整个临时生成的集合将位于ValueStack的顶端,蛋一旦该标签结束,该集合将被移出ValueStack。
更多generator信息
head
head标签主要用于成生HTML主要页面的HEAD部分。
国为有些主题需要包含特定的CSS和javascript代码,而该标签则用于生成对这此CSS和javaScript代码的引用。
示范代码:
page1
head/>
更多head信息
hidden
hidden标签输出一个HTML隐藏表单元素,等价于HTML代码:
。
在xhtml主题下,hidden标签与其他的标签不一样,hidden标签并不输出表行。
xhtml主题直接从simple主题继承了
hidden.ftl模板。
示范代码:
hiddenname="id"value="s"/>
更多hidden信息
i18n
该标签用于加载资源包到值堆栈。
它可以允许text标志访问任何资源包的信息,而不只当前action相关联的资源包。
示范代码:
i18nname="ApplicationMessages">
textname="HelloWorld"/>
i18n>
更多i18n信息
if
If标签用来控制基本的条件处理流程,通常和else标签或者elseif标签连用。
例子:
iftest="%{false}">
WillNotBeExecuted
if>
更多if信息
include
include标签用于将一个JSP页面,或者一个Servlet包含到本页面中。
示范代码:
使用s:
include标签来包含目标页面
includevalue="include-file.jsp"/>
--使用include标签来包含其他页面,并且传入参数-->
includevalue="include-file.jsp">
paramname="author"value="'yeeku'"/>
include>
更多include信息
inputtransferselect
获取form的一个输入
更多inputtransferselect信息
iterator
迭代处理一个java.util.Connection或者java.util.Iterator对象
例子:
iteratorvalue="users"status="userStatus">
propertyvalue="fullName"/>
iftest="!
#userStatus.last">,
if>
iterator>
更多iterator信息
label
xhtml主题下的label标签输出两个HTML的label标签(simple主题下的label标签只输出一个HTMLlabel标签)。
分别位于一行的两列,左列的label标签器提示作用,右列的label标签用于显示只读的action属性数据。
示范代码:
labellabel="用户名"name="user.username"/>
更多label信息
merge
合并遍历集合出来的值,与append>标签用法相似。
例子:
mergeid="list">
paramvalue="#request.list1"/>
paramvalue="#request.list2"/>
paramvalue="#request.list3"/>
paramvalue="#request.list4"/>
merge>
iteratorvalue="%{list}">
property/>
iterator>
更多merge信息
optgroup
optgroup标签用于生成一个下拉列表框的选项组,因此,该标签必须放在select>标签中使用,一个下拉列表框中可以包含多个选项组,因此可以在一个select>标签中使用多个optgroup>标签。
selectlabel="选择您喜欢的图书"name="book"list="#{'Spring2.0':
'李刚','J2EE':
'李','Ajax宝典':
'李'}"
listKey="value"listValue="key">
optgrouplabel="RodJohnson"
list="#{'ExpertOne-on-OneJ2EEDesignandDevelopment':
'Johnson'}"
listKey="value"
listValue="key"/>
optgrouplabel="DavidFlanagan"
list="#{'JavaScript:
TheDefinitiveGuide':
'David'}"
listKey="value"
listValue="key"/>
select>
更多optgroup信息
optiontransferselect
optiontransferselect标签创建一个选项转移列表组建,它由两个
表单提交时,将提交两个列表框中选中的选项。
示范代码:
optiontransferselect
label="最喜爱的图书"
name="javaBook"
list="{'《JavaWeb开发详解》','《Struts2深入详解》','《Java快速入门》'}"
doubleName="cBook"
doubleList="{'《VC++深入详解》','《C++Primer》','《C++程序设计语言》'}"/>
更多optiontransferselect信息
param
param标签主要用于为其他标签提供参数
用法:
这里color参数的值是,blue对象的值----如果blue对象不存在,则color为null。
更多param信息
password
password>标签类同于HTML的,其name和label类同于textfield>
例子:
passwordname="password"label="密码"/>
更多password信息
property
property标签用于输出值栈中的对象的属性值,使用value属性来指定要输出的对象属性,如果没有指定value属性,那么默认输出栈顶对象。
例子:
propertyvalue="username"default="游客"/>
取出栈顶对象(通常是action)的username属性并输出,如果没有找到username属性,那么输出“游客”。
更多property信息
push
push标签用于将某个值放到ValueStack的栈顶,可以跟简单的访问该值。
示范样例:
beanname="lee.Person"id="p">
paramname="age"value="29"/>
bean>
pushvalue="#p">
propertyvalue="name"/>
properyvalue="age"/>
push>
更多push信息
radio
radio标签的用法与checkboxlist的用法几乎完全相同,一样可以指定label,list,listKey,listValue等属性。
示范代码:
radioname="c"label="请选择您喜欢的图书"labelposition="top"
list="#bs.books"
listKey="author"
listValue="name"/>
更多radio信息
reset
reset标签输出一个重置按钮。
示范代码:
resetvalue="重置">
reset>
resettype="button"label="重置">
reset>
更多reset信息
select
s:
select标签输出一个下拉列表框,相当于HTML代码中的
示范代码:
form>
selectlabel="最高学历"name="education"list="{'高中','大学','硕士','博士'}"/>
form>
更多select信息
set
set标签是将某个值放到指定范围内,比如说student.teacher.parent.age每次访问这个属性不仅性能低,而且代码可读性很差,为了解决这个问题,可以将这个值设置为一个新值,并且放入指定范围内。
使用示范:
setvalue="#p"name="test"/>
propertyvalue="#test.name"/>
propertyvalue="#test.age"/>
sort
对一个可以迭代的对象进行排序操作。
sortcomparator="myComparator"source="myList">
iterator>
--dosomethingwitheachsortedelements-->
propertyvalue="..."/>
iterator>
sort>
更多sort信息
submit
Submit标签输出一个按钮,submit标签和form标签使用可以提供异步表单提交功能。
Submit标签可以输出以下三种类型的提交按钮:
Input:
等价于HTML代码
Image:
等价于HTML代码
Button:
示范代码:
submitvalue="登陆">
submit>
subset
递归iterator的一部分。
例子:
subsetsource="myList">
iterator>
property/>
iterator>
subset>
更多subset信息
tabbedPanel
tabbedPanel>标签,用来在HTML页面中生成类似于Windows程序的Tab页,从而可以在有限的空间中放置更多的内容。
tabbedPanel标签生成的Tab页的内容可以是静态的,也可以是动态的。
示范代码:
tabbedPanelid="tp1"closeButton="pane"theme="ajax"doLayout="true"selectedTab="second"labelposition="left">
divid="first"label="第一个div"theme="ajax">
静态的DIV
div>
divname="second"label="第二个div"theme="ajax"href="%{T}"updateFreq="6000"delay="3000">
3:
每六秒钟刷新一次,但有三秒延迟
div>
tabbedPanel>
更多tabbedPanel信息
text
用于输出国际化消息,和i18n结合使用。
示范代码:
i18nname="ApplicationMessages">
textname="HelloWorld"/>
i18n>
更多text信息
textarea
Textarea标签输出一个HTML多行文本输入控件,等价于HTML代码:
示范代码:
textareaname="personal"cols="10"rows="5