struts2的几种选择标签
学习struts2已经很长时间了,一直觉得他的标签很好用,下面就介绍几个选择标签:下面将用到一个book类,和getBooks的方法,在本文的尾部会提供。
1、<s:select/>
<s:form><!-- 使用简单集合来生成下拉选择框 --><s:select name="a" label="请选择您喜欢的图书" labelposition="top" multiple="true" list="{'Struts 2权威指南','轻量级Java EE企业应用实战','JavaScript: The Definitive Guide'}"/><!-- 使用简单Map对象来生成下拉选择框 --><s:select name="b" label="请选择您想选择出版日期" labelposition="top" list="#{'Struts 2权威指南':'2007年10月','轻量级Java EE企业应用实战':'2007月4月', '疯狂Ajax讲义':'2007年6月'}"listKey="key"listValue="value"/><!-- 创建一个JavaBean实例 --><s:bean name="lee.BookService" id="bs"/><!-- 使用集合里放多个JavaBean实例来生成下拉选择框 --><s:select name="b" label="请选择您喜欢的图书" labelposition="top"multiple="true"list="#bs.books"listKey="author"listValue="name"/></s:form>
预览
http://dl.iteye.com/upload/picture/pic/89252/6b3b9d45-53a5-3597-8d9a-5582f1849457.jpg
2、<s:combobox />
<s:form><s:combobox label="请选择您喜欢的图书" theme="css_xhtml"labelposition="top"list="{'Struts 2权威指南','轻量级Java EE企业应用实战','疯狂Ajax讲义'}"size="20" maxlength="20" name="book"/></s:form> 预览
http://dl.iteye.com/upload/picture/pic/89246/31e7656c-a431-3876-854a-9e15b8fae1fa.jpg
3、<s:optgroup/>
<s:form><!-- 直接使用Map为列表框生成选项 --><s:select label="选择您喜欢的图书" name="book" size="7"list="#{'Struts 2权威指南':'李刚','轻量级Java EE企业应用实战':'李刚','疯狂Ajax讲义':'李刚'}"listKey="value"listValue="key"><!-- 使用Map对象来生成选择框的选项组 --><s:optgroup label="Rod Johnson"list="#{'Expert One-on-One J2EE Design and Development':'Johnson'}"listKey="value"listValue="key"/><s:optgroup label="David Flanagan"list="#{'JavaScript: The Definitive Guide':'David'}"listKey="value"listValue="key"/></s:select></s:form>
预览
http://dl.iteye.com/upload/picture/pic/89240/8caf0d63-b7d7-399a-a5ad-85780f212003.jpg
4、<s:doubleselect/>
<s:form action="x"><s:doubleselectlabel="请选择您喜欢的图书"name="author" list="{'李刚', 'David'}"doubleList="top == '李刚' ? {'Struts 2权威指南','轻量级Java EE企业应用实战','疯狂Ajax讲义'}:{'JavaScript: The Definitive Guide'}" doubleName="book"/></s:form>
预览
http://dl.iteye.com/upload/picture/pic/89242/ce085343-1bcf-3c9a-aec9-b2e486a3bf8b.jpg
<!-- 创建一个复杂的Map对象,key为普通字符串,value为集合 --><s:set name="bs" value="#{'李刚': {'Struts 2权威指南', '轻量级Java EE企业应用实战','疯狂Ajax讲义'},'David': {'JavaScript: The Definitive Guide'},'Johnson': {'Expert One-on-One J2EE Design and Development'}}"/><!-- 使用Map对象来生成级联列表框 --><s:form action="x"><s:doubleselectlabel="请选择您喜欢的图书"size="3"name="author" list="#bs.keySet()"doubleList="#bs" doubleSize="3"doubleName="book"/></s:form>
预览
http://dl.iteye.com/upload/picture/pic/89244/10398527-92a5-3585-97e6-cf5dda47b454.jpg
5、<s:updownselect/>
<s:form><!-- 使用简单集合来生成可上下移动选项的下拉选择框 --><s:updownselect name="a" label="请选择您喜欢的图书" labelposition="top"moveUpLabel="向上移动"list="{'Struts 2权威指南' , '轻量级Java EE企业应用实战','疯狂Ajax讲义'}"/><!-- 使用简单Map对象来生成可上下移动选项的下拉选择框且使用emptyOption="true"增加一个空选项--><s:updownselect name="b" label="请选择您想选择出版日期" labelposition="top"moveDownLabel="向下移动"list="#{'Struts 2权威指南':'2007年10月','轻量级Java EE企业应用实战':'2007月4月','疯狂Ajax讲义':'2007年6月'}"listKey="key"emptyOption="true"listValue="value"/><s:bean name="lee.BookService" id="bs"/><!-- 使用集合里放多个JavaBean实例来可上下移动选项的生成下拉选择框 --><s:updownselect name="c" label="请选择您喜欢的图书的作者" labelposition="top"selectAllLabel="全部选择" multiple="true"list="#bs.books"listKey="author"listValue="name"/></s:form>
预览
http://dl.iteye.com/upload/picture/pic/89250/0214c07c-53b5-363f-bd7e-06bccc2dd949.jpg
6、<s:optiontransferselect />
<h3>使用s:optiontransferselect来生成可移动列表项的下拉列表框</h3><s:form><!-- 使用简单集合对象来生成可移动的下拉列表框 --> <s:optiontransferselect label="请选择你喜欢的图书"name="cnbook" leftTitle="中文图书:"rightTitle="外文图书"list="{'疯狂Java讲义' ,'Struts 2权威指南','轻量级Java EE企业应用实战','疯狂Ajax讲义'}" multiple="true"addToLeftLabel="向左移动"selectAllLabel="全部选择"addAllToRightLabel="全部右移"headerKey="cnKey"headerValue="--- 选择中文图书 ---"emptyOption="true"doubleList="{'Expert One-on-One J2EE Design and Development','JavaScript: The Definitive Guide'}" doubleName="enBook"doubleHeaderKey="enKey"doubleHeaderValue="--- 选择外文图书 ---" doubleEmptyOption="true"doubleMultiple="true"/></s:form>
预览
http://dl.iteye.com/upload/picture/pic/89256/90d456ed-766f-37dc-a459-43dfb036e381.jpg
7、<s:radio/>
<h3>使用s:radio生成多个单选框</h3><s:form><!-- 使用简单集合来生成多个单选框 --><s:radio name="a" label="请选择您喜欢的图书" labelposition="top"list="{'Struts 2权威指南','轻量级Java EE企业应用实战','疯狂Ajax讲义'}"/><!-- 使用简单Map对象来生成多个单选框 --><s:radio name="b" label="请选择您想选择出版日期" labelposition="top"list="#{'Struts 2权威指南':'2007年10月','轻量级Java EE企业应用实战':'2007月4月' , '疯狂Ajax讲义':'2007年6月'}"listKey="key"listValue="value"/><!-- 创建一个JavaBean实例 --><s:bean name="lee.BookService" id="bs"/><!-- 使用集合里放多个JavaBean实例来生成多个单选框 --><s:radio name="c" label="请选择您喜欢的图书" labelposition="top"list="#bs.books"listKey="author"listValue="name"/></s:form>
预览
http://dl.iteye.com/upload/picture/pic/89254/bbb8a6af-3188-3b6d-8d3a-f99f0e309dda.jpg
8、<s:checkboxlist/>
<h3>使用s:checkboxlist生成多个复选框</h3><s:form><!-- 使用简单集合来生成多个复选框 --><s:checkboxlist name="a" label="请选择您喜欢的图书" labelposition="top" list="{'Struts 2权威指南' , '轻量级Java EE企业应用实战' , '疯狂Ajax讲义'}"/><!-- 使用简单Map对象来生成多个复选框使用Map对象的key(书名)作为复选框的value,使用Map对象的value(出版时间)作为复选框的标签--><s:checkboxlist name="b" label="请选择您想选择出版日期" labelposition="top"list="#{'Struts 2权威指南':'2007年10月','轻量级Java EE企业应用实战':'2007月4月','疯狂Ajax讲义':'2007年6月'}"listKey="key"listValue="value"/><!-- 创建一个JavaBean对象,并将其放入Stack Context中 --><s:bean name="lee.BookService" id="bs"/><!-- 使用集合里放多个JavaBean实例来生成多个复选框使用集合元素里name属性作为复选框的标签使用集合元素里author属性作为复选框的value--><s:checkboxlist name="b" label="请选择您喜欢的图书" labelposition="top"list="#bs.books"listKey="author"listValue="name"/></s:form>
预览
http://dl.iteye.com/upload/picture/pic/89248/1b4c299d-6770-3e40-89ff-dc040017b885.jpg
books.java
public class Book{//两个普通属性private String name;private String author;//无参数的构造器public Book(){}//初始化全部属性的构造器public Book(String name , String author){this.name = name;this.author = author;}//name属性的setter和getter方法public void setName(String name){this.name = name;}public String getName(){return this.name;}//author属性的setter和getter方法public void setAuthor(String author){this.author = author;}public String getAuthor(){return this.author;}}
BookService.java
public class BookService{public Book[] getBooks(){return new Book[]{new Book("疯狂Java讲义","李刚"),new Book("Struts 2权威指南","李刚"),new Book("轻量级Java EE企业应用实战","李刚"),new Book("疯狂Ajax讲义","李刚")};}}
页:
[1]