Struts2标签
Struts2包含众多的标签,有的是流程控制标签,有的是数据存取标签,还有Action数据显示标签。
每个标签都有一些通用属性,在这里统一说明一下:
name:字段名称,对应Action的属性对象名称,非数据存取标签没有该属性;
label:数据显示的标识名称,优先级高于key
key:如果使用国际化方式显示字段的名称,则配置该参数同时不要配置label参数;
labelposition:确定该标签中label显示的位置,包括:topbottomleftright
theme:指定模板,系统指定的模板包括:simplexhtmlajaxcss-xhtmlarchive,一般统一在JSP<head>体内指定本页面的theme,而不用每个标签分别指定;
(1)<s:form>标签的内嵌标签
这部分标签包含了所有页面提交到服务器后台Action的数据,例如:文本框、选择框、下拉列表、上传文件、日期选择器等。这些标签都和Action存在一对一的映射关系,即标签的name值和Action的属性变量名称一致,通过这些属性变量的Bean方法(getter/setter)存取数据。
1.<s:checkbox>外部变量是全局变量吗
(1)标签及属性说明
这个标签实现了复选框数据类型。
<s:checkbox label="" name="sex" value="true" fieldValue=""/>
value:标识是否选定该复选框,如果是true,则选定,否则没有选定,这里也只起到一个复选框初始状态的设定值;
fieldValue:这个才是传递到Action的实际值,如果选定复选框,则将这个值传递到Action,否则这个值为“false”;
(2)标签映射到Action的属性对象类型
这个标签映射到Action的对象是String,如果选定则将fieldValue的值传递给该属性,否则将false赋给该属性。Action对应的属性声明如下:
private String sex;
如果选定,则sex=new String("jsp文件怎么用eclipse打开");
如果没有选定,则sex=new String("false");
2.<s:checkboxlist>
(1)标签及属性说明
这个标签实现了复选框组数据类型。
<s:checkboxlist list="#{'one':'编辑','two':'创建','three':'删除'}" listKey="key" listValue="value" value="{0,2}" name="done" label="权限"></s:checkboxlist>
list:给定复选框集合数据,这些数据可以是JSP页面设定,也可以是Action提供,可以是:CellectionMapEnumerationIteratorarray类型。常用的是MapArray型,如果Map型则数据格式如上所示,如果是Array型则如:{'编辑','创建','删除'}
listKey:指定list数据中那个属性作为是传递到Action的实际值,如上例中listMap型数据的key对应的值传递到Action相应属性对象中,只有是Map型数据的时候才能够设定该属性;
listValue:指定list数据中那个属性作为显示在页面上的内容,如上例子中listMap型数据的value对应的值显示在页面上,只有是Mapnavicat是免费的吗型数据的时候才能够设定该属性;
value:给复选框设定初始选定状态,{}中的值是list的从0起始的序列号。
(2)标签映射到Action的属性对象类型
这个标签映射到Action的对象是集合类型的对象:ListString[]Action对应的属性声明如下:
private List<String> done;
或者
Private String[] done;
遍历done就可以获得复选框选定的值,如果是List型数据,则直接就是复选框显示的值,如果是Map型数据,就是listKey确定的集合数据属性对应的值。
备注:鉴于<s:checkbox>标签有诸多的问题,所以建议用<s:checkboxlist>替代之。
stack of3.<s:combobox>
(1)标签及属性说明
这个标签实现了单行文本输入及下拉列表选择组合的数据类型。
<s:combobox label="请选择您喜欢的图书" list="{'Spring2.0' , 'J2EE' , 'Ajax'}" size="20" maxlength="20" name="book"/>
list:提供下拉列表的初始值;
size:单行文本输入框的宽度;
maxlength:最大输入字符数量。
(2)标签映射到Action的属性对象类型
这个标签映射到Action的对象是StringAction对应的属性声明如下:
private String book;
4.<sx:datetimepicker>
(1)标签及属性说明
这个标签实现了单行文本输入及下拉列表选择组合的数据类型。
<sx:datetimepicker name="birthday" displayFormat="yyyy-MM-dd" value="%{'2018-02-03'}" language="zh-cn" label="生日" />
displayFormat:指定日期内容显示的格式;
value:给该标签赋初始值;
language:指定该标签的语言环境;
(2)标签映射到Action的属性对象类型
这个标签映射到Action的对象是DateAction对应的属性声明如下:
private Date birthday;
备注:Struts2.1.6以后的版本将datetimepicker标签放到了struts2-dojo-plugin包里面了,所以要使用该标签必须引入这个jar,同时在JSP头部引入这个标签库声明<%@ taglib uri="/struts-dojo-tags" prefix="sx" %>
备注:这个标签在中文环境中使用的时候会出现乱码,是该标签的国际化js代码出现了bug,请修改struts2-gojo-plugin-2.1.8.jar中包org.apache.struts2static下的dojo_zh.jsdojo_zh.js等相关代码。并将static下所有目录及文件复制到服务器虚拟目录下的struts下,同时检查l是否将jscss等静态资源的访问设置到过滤器中,如果是,则说明这些静态资源的访问还是经过Struts2,那么还是会出现乱码,或者发现对这些js修改不生效。
5.<s:doubleselect>
(1)数组指针怎么表示标签及属性说明
这个标签实现了前后数据关联的两个下拉框类型数据输入/输出。
<s:doubleselect label="请选择所在省市" name="province" list="{'四川省','山东省'}" doubleName="city" doubleList="top=='四川省'?{'成都市','绵阳市'}:{'济南市', '青岛市'}" />
list:主下拉表初始值;
doubleList:以主表值为key的子下拉表初始值;
doubleName:子表数据字段名称,和name一样对应Action属性变量名称;
(2)标签映射到Action的属性对象类型
这个标签映射到Action的对象是两个String类型。Action对应的属性声明如下:
private String province;
private String city;
6.<s:file>
(1)标签及属性说明
这个标签实现了本地文件上传功能。
<s:file name="file" label="上传照片" size="20" />
size:文件名称输入框长度;
(2)标签映射到Action的属性对象类型
这个标签映射到Action的对象是File类型。如果是上传多个文件,则name属性值相同,映射到Action的属性变量是数组类型,Action对应的属性声明如下:
private File[] file;
private String[] fileContentType;
Private String[] fileFileName;
7.<s:optgrop>
(1)标签及属性说明
这个实现了在下拉列表中提供分类组的功能,所以要跟<s:select>标签组合使用,一个<s:select>标签可以包含多个<s:optgrop>标签。
<s:optgroup label="午夜文库" list="#{'one':'游行者','two':''}" listKey="key" listValue="value" />
list:选项组的初始值;
listKey:确定标签值的属性名称;
listValue:确定标签显示的属性名称;
(2)标签映射到Action的属性对象类型
这个标签只能作为<s:select>标签的内嵌标签使用,所以没有name属性,也就不存在Action映射属性对象,他只是给<s:select>提供选项组数据。
8.<s:optiontransferselect>
(1)标签及属性说明
这个在两个列表框中互相传递数据并从列表框中选择数据传递到Action的功能。
<s:optiontransferselect label="最喜爱的图书" name="javaBook" list="{'《Java Web开发详解》', '《Struts 2深入详解》', '《Java快速入门》'}" doubleName="cBook" doubleList="{'《VC++深入详解》', '《C++ Primer》', '《C++程序设计语言》'}" />
list:左侧选项框初始数据;
doubleList:右侧选项框初始数据;
doubleName:右侧选项框名称,映射到Action属性对象名称;
(2)标签映射到Action的属性对象类型
这个标签包含两组数据,所以映射到Action也有两个属性对象,数据是List型,Action对应的属性声明:
private List javaBook;
private List cBook;
9.<s:password>
(1)标签及属性说明
这个实现了密码输入框功能。
<s:password name="password" label="密码" />
(2)标签映射到Action的属性对象类型
这个标签映射到ActionString型属性对象上。
10.<s:radio>
(1)标签及属性说明jsp中文全称
这个实现了从多个选项中单选一个的功能,属性配置和<s:checkbox>完全相同。
<s:radio name="singleBook" label="请选择您喜欢的图书" labelposition="top" list="{'Spring2.0' , 'Spring In Action' , 'JavaScript: The Definitive Guide'}"/>

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。