setname="name"value="<%="'"+request.getParameter("name")+"'"%>"/>
<%
System.out.println(request.getParameter("name"));
%>
iftest="#name=='zhaosoft'">
zhaosofthere
if>
elseiftest="#name=='zxl'">
zxlhere
elseif>
else>
otherishere
else>
Iterator(迭代)
描述:
用于遍历集合(java.util.Collection)或枚举值(java.util.iterator)
参数
名称
必需
默认
类型
描述
status
否
String
如果设置此参数,一个IteratorStatus的实例将会压入每一个遍历的堆栈
value
否
Object/String
要遍历的可枚举的(iteratable)数据源,或者将放入的新列表(List)的对想
id
否
Object/String
用来标识元素的id。
在ui和表单中为HTML的id属性
I18n(国际化操作)
描述:
加载资源包到值堆栈。
它可以允许text标志访问任何资源包的信息。
而不只当前的action相关联的资源包。
名称
必需
默认
类型
描述
name
是
Object/String
资源包的类路径(如com.xxxx.resources.AppMsg)
id
否
Object/String
用来标识元素的id。
在ui和表单中为HTML的id属性
Include
描述:
包含一个servlet的输出(servlet或jsp的页面)
名称
必需
默认
类型
描述
value
时
String
要包含的jsp页面或servlet
id
否
Object/String
用来标识元素的id。
在ui和表单中为HTML的id属性
param
描述:
属性是可选的,如果提供,会调用Component的方法,addParameter(String,Object),如果不提供,则外层嵌套标签必须实现UnnamedParametric接口。
Value的提供有两种方式,通过value属性或者标签中间的text,不同之处:
paramname="name">zhaosoft
param>
参数会以String的格式放入statck
paramname="name"value="zhaosoft"/>
该值会以java.lang.Object的格式放入statck
名称
必需
默认
类型
描述
name
否
String
参数名
value
时
String
value表达式
id
否
Object/String
用来标识元素的id。
在ui和表单中为HTML的id属性
set
描述:
set标签赋予变量一个特定范围内的值。
当希望给一个变量赋一个复杂的表达式,每次访问该变量而不是复杂的表达式时用到。
其在两种情况下非常有用:
复杂的表达式很耗时(性能提升)或者很难理解(代码的可读性提高)
参数:
名称
必需
默认
类型
描述
name
是
String
变量名字
scope
否
String
变量作用域,可以为application,session,request,page,action
value
否
Object/String
将会赋给变量的值
id
否
Object/String
用来标识元素的id。
在ui和表单中为HTML的id属性
Text
描述:
支持国际化信息的标签。
国际化信息必须放在一个和当前action同名的resourcebundle中,如果没有找到相应message,tagbody将被当作默认的message,如果没有tagbody,message的name会被作为默认message.
名称
必需
默认
类型
描述
name
是
String
资源属性的名字
id
否
Object/String
用来标识元素的id。
在ui和表单中为HTML的id属性
url
描述:
该标签用于创建url,可以通过”param”标签提供request参数。
当includeParams的值是all或get,param标签中定义的参数将有优先权,也就是说其会覆盖其他同名参数的值。
UI标志
单行文本框
Textfield标签输出一个HTML单行文本输入控件,等价于HTML代码
名称
必需
默认
类型
描述
maxlength
否
无
Integer
文本输入控件可以输入字符的最大长度
readonly
否
false
Boolean
当该属性为true时,不能输入
size
否
无
Integer
指定可视尺寸
id
否
Object/String
用来标识元素的id。
在ui和表单中为HTML的id属性
例子:
formaction="register"method="post">
textfieldname="username"label="用户名">
textfield>
form>
文本框区
Textarea标签输出一个HTML多行文本输入控件,等价于HTML代码:
名称
必需
默认
类型
描述
cols
否
无
Integer
列数
rows
否
无
Integer
行数
readonly
否
false
Boolean
当该属性为true时,不能输入
wrap
否
false
Boolean
指定多行文本输入控件是否应该换行
id
否
Object/String
用来标识元素的id。
在ui和表单中为HTML的id属性
例子:
textareaname="personal"cols="10"rows="5"label="个人简历">
textarea>
下拉列表
s:
select标签输出一个下拉列表框,相当于HTML代码中的
名称
必需
默认
类型
描述
list
是
无
CellectionMapEnumerationIteratorarray
要迭代的集合,使用集合中的元素来设置各个选项,如果list的属性为Map则Map的key成为选项的value,Map的value会成为选项的内容
listKey
否
无
String
指定集合对象中的哪个属性作为选项的value
listValue
否
无
String
指定集合对象中的哪个属性作为选项的内容
headerKey
否
无
String
设置当用户选择了header选项时,提交的的value,如果使用该属性,不能为该属性设置
空值
headerValue
否
无
String
显示在页面中header选项内容
emptyOption
否
false
Boolean
是否在header选项后面添加一个空选项
multiple
否
false
Boolean
是否多选
size
否
无
Integer
显示的选项个数
例子:
<%@pagecontentType="text/html;charset=GBK"%>
<%@taglibprefix="s"uri="/struts-tags"%>
使用name和list属性,list属性的值是一个列表
form>
selectlabel="最高学历"name="education"list="{'高中','大学','硕士','博士'}"/>
form>
使用name和list属性,list属性的值是一个Map
form>
selectlabel="最高学历"name="education"list="#{1:
'高中',2:
'大学',3:
'硕士',4:
'博士'}"/>
form>
使用headerKey和headerValue属性设置header选项
form>
selectlabel="最高学历"name="education"list="{'高中','大学','硕士','博士'}"
headerKey="-1"headerValue="请选择您的学历"/>
form>
使用emptyOption属性在header选项后添加一个空的选项
form>
selectlabel="最高学历"name="education"list="{'高中','大学','硕士','博士'}"
headerKey="-1"headerValue="请选择您的学历"
emptyOption="true"/>
form>
使用multiple属性设置多选
form>
selectlabel="最高学历"name="education"list="{'高中','大学','硕士','博士'}"
headerKey="-1"headerValue="请选择您的学历"
emptyOption="true"
multiple="true"/>
form>
使用size属性设置下拉框可显示的选项个数
form>
selectlabel="最高学历"name="education"list="{'高中','大学','硕士','博士'}"
headerKey="-1"headerValue="请选择您的学历"
emptyOption="true"
multiple="true"size="8"/>
form>
使用listKey和listValue属性,利用Action实例的属性(property)来设置选项的值和选项的内容
form>
selectlabel="最高学历"name="education"list="educations"
listKey="id"listValue="name"/>
form>
doubleselect标签
doubleselect标签输出关联的两个HTML列表框,产生联动效果。
名称
必需
默认
类型
描述
list
是
无
CellectionMapEnumerationIteratorarray
要迭代的集合,使用集合中的元素来设置各个选项,如果list的属性为Map则Map的key成为选项的value,Map的value会成为选项的内容
listKey
否
无
String
指定集合对象中的哪个属性作为选项的value,该选项只对第一个列表框起作用
listValue
否
无
String
指定集合对象中的哪个属性作为选项的内容,该选项只对第一个列表框起作用
headerKey
否
无
String
设置当用户选择了header选项时,提交的的value,如果使用该属性,不能为该属性设置空值
headerValue
否
无
String
显示在页面中header选项内容
emptyOption
否
false
Boolean
multiple
否
false
Boolean
是否多选
size
否
无
Integer
显示的选项个数,该选项只对第一个列表框起作用
doubleId
否
无
String
指定第二个列表框的ID
doubleList
是
无
CellectionMapEnumerationIteratorarray
要迭代的集合
doubleListKey
否
无
String
指定集合对象中的哪个属性作为选项的value,该选项只对第二个列表框起作用
doubleListValue
否
无
String
指定集合对象中的哪个属性作为选项的内容,该选项只对第二个列表框起作用
doubleSize
否
无
Integer
选项个数
doubleName
否
无
String
指定第二个列表框的name映射
doubleValue
否
无
Object
第二个列表框的初始选种项
实例:
formname="test">
doubleselectlabel="请选择所在省市"
name="province"list="{'四川省','山东省'}"doubleName="city"
doubleList="top=='四川省'?
{'成都市','绵阳市'}:
{'济南市','青岛市'}"/>
form>
formaction="doubleselectTag">
doubleselect
label="请选择所在省市"
name="province"
list="provinces"
listKey="id"
listValue="name"
doubleList="cities"
doubleListKey="id"
doubleListValue="name"
doubleName="city"
headerKey="-1"
headerValue="----------请选择----------"
emptyOption="true"/>
form>
复选框
名称
必需
默认
类型
描述
fieldValue
是
true
String
指定在复选框选中时,实际提交的值
复选框组,对应Action中的集合
名称
必需
默认
类型
描述
list
是
无
CellectionMapEnumerationIteratorarray
要迭代的集合,使用集合中的元素来设置各个选项,如果list的属性为Map则Map的key成为选项的value,Map的value会成为选项的内容
listKey
否
无
String
指定集合对象中的哪个属性作为选项的value
listValue
否
无
String
指定集合对象中的哪个属性作为选项的内容
例子:
checkboxlistTag.jsp
<%@pagecontentType="text/html;charset=GBK"%>
<%@taglibprefix="s"uri="/struts-tags"%>
form>
checkboxlistname="interest"list="{'足球','篮球','排球','游泳'}"label="兴趣爱好"/>
form>
文件选择组建
file标签输出一个HTML文件选择框。
名称
必需
默认
类型
描述
accept
否
input
String
HTMLaccept属性,指出接受文件的MIME类型
按钮
Submit标签输出一个按钮,submit标签和form标签使用可以提供异步表单提交功能。
Submit标签可以输出以下三种类型的提交按钮:
Input:
等价于HTML代码
Image:
等价于HTML代码
Button:
名称
必需
默认
类型
描述
type
否
input
String
要使用的提交按钮的类型,有效值:
inputbuttonimage
src
否
无
String
为image类型的提交按钮设置图片地址。
该属性对input和button类型的提交按钮无效
action
否
无
String
指定处理提交请求的action
method
否
无
String
指定处理提交请求的action的方法
实例
实例1.
submittype="image"method="login"src="images/login.jpg">
submit>
页面输出:
login"value="Submit"/>
实例2.submittype="button"action="selectTag"method="login"label="登陆">
submit>
页面输出:
selectTag!
login"value="Submit">登陆
Struts2预定义的前缀:
1。
method method:
login
使用method前缀,来取代action默认的execute()方法的执行。
formaction="user">
textfieldname="user.username"label="用户名">
textfield>
textfieldname="user.password"label="密码">
textfield>
submitvalue="登陆"name="method:
login">
submit>
submitvalue="注册"name="method:
register">
submit>
form>
注意:
1。
input类型的按钮,不能用label设置按钮上的文本,只能用value
2、action前缀
使用action前缀,取代form标签指定的action,导向到另一个action进行处理。
formaction="login">
textfieldname="user.username"label="用户名">
textfield>
textfieldname="user.password"label="密码">
textfield>
submitvalue="登陆">
submit>
submitvalue="注册"name="action:
register">
submit>
form>
2、redirect前缀
使用redirect前缀请求重定向到其他的url,甚至可以是web英语程序外部的url。
formaction="login">
textfieldname="user.username"label="用户名">
textfield>
textfieldname="user.password"label="密码">
textfield>
submitvalue="登陆">
submit>
submitvalue="搜索"name="redirect:
">
submit>
form>
2、redirect-action前缀
使用redirect-action前缀请求重定向到其他的action.
formaction="login">
textfieldname="user.username"label="用户名">
textfield>