`

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>

 

  预览

 

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>

 预览

 

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>

 

预览

 

4、<s:doubleselect/>

<s:form action="x">
	<s:doubleselect
		label="请选择您喜欢的图书"
		name="author" list="{'李刚', 'David'}"
		doubleList="top == '李刚' ? {'Struts 2权威指南',
		'轻量级Java EE企业应用实战','疯狂Ajax讲义'}:
		{'JavaScript: The Definitive Guide'}" 
		doubleName="book"/>	
</s:form>

 

预览

 

<!-- 创建一个复杂的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:doubleselect
		label="请选择您喜欢的图书"
		size="3"
		name="author" list="#bs.keySet()"
		doubleList="#bs[top]" 
		doubleSize="3"
		doubleName="book"/>	
</s:form>

 

预览

 

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>

 

预览

 

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>

 

预览

 

 

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>

 

预览

 

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>

 

预览

 

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讲义","李刚")
		};
	}
}

 

分享到:
评论

相关推荐

    Struts2自定义标签

    此外,Struts2还支持动态标签,这是一种更为灵活的标签实现方式。动态标签可以根据不同的属性值生成不同的标签逻辑,这使得自定义标签的功能更加强大。 自定义标签的应用场景非常广泛,比如用于显示复杂的数据结构...

    Struts2自定义分页标签

    Struts2自定义分页标签是Java Web开发中一种高效且灵活的页面数据展示方法,尤其在处理大数据量时非常实用。Struts2框架提供了一种内置的分页支持,但有时开发人员需要根据项目需求定制更符合业务逻辑的分页功能。本...

    Struts2分页-自定义标签-类似百度分页

    总之,Struts2自定义标签提供了一种灵活的方式,使得开发者能够在JSP页面中方便地实现分页效果。通过自定义标签,我们可以将复杂的分页逻辑封装起来,使得前端展示更加简洁,同时提高了代码的可维护性和复用性。结合...

    struts2标签教程(中文版)

    Struts2标签是Java Web开发框架Struts2中的一部分,它提供了一种简化JSP页面编写的方式,使得开发者可以通过XML语法来替代繁琐的Java脚本和JSP动作元素。Struts2标签库大大提升了代码的可读性和维护性,使得业务逻辑...

    Struts2_表单标签简介 示例

    在Struts2中,基础表单标签包括但不限于以下几种: 1. **`&lt;s:checkbox&gt;`** - 单个复选框 - **标签属性**: - `name`:用于标识复选框的名字。 - `value`:指定复选框被选中时返回的值。 - `label`:显示在复选...

    Struts2标签中文文档(html和chm格式)

    Struts2标签库主要包括以下几大类: 1. **展示标签**:如`s:textfield`、`s:textarea`等,用于创建表单元素。这些标签可以与Action中的字段自动绑定,简化了数据的获取和验证。 2. **控制标签**:如`s:if`、`s:...

    struts2标签库详解(非常不错)

    Struts2标签库的核心在于提供了一种声明式编程的方式,使得开发者可以更专注于业务逻辑,而不是繁琐的JSP代码。下面将详细介绍几个关键的Struts2标签: 1. `s:textfield`: 这个标签用于创建HTML输入字段,它自动...

    struts2 标签使用

    在 Struts2 中,`&lt;s:if&gt;` 标签是一种常用的条件判断标签,用于在页面上根据不同的条件展示不同的内容。`&lt;s:if&gt;` 标签依赖于 Struts2 提供的强大表达式语言——OGNL(Object-Graph Navigation Language),该语言可以...

    Struts2主要Lib

    在实际项目中,开发者需要根据具体需求选择合适的Struts2库,同时结合Spring、Hibernate等其他框架,构建出高效稳定的Java web应用。了解并熟练掌握这些知识点,对于进行Struts2应用的开发和维护至关重要。

    struts2标签详解

    根据提供的文件内容,我们可以深入探讨Struts2框架中的标签库及其使用方法。Struts2作为Java Web开发中的一款流行框架,提供了丰富的标签库来简化Web应用程序的开发过程。以下是基于给定材料对Struts2标签的详细介绍...

    Struts2教学视频

    Struts2支持Action的动态方法调用,允许Action类根据请求参数动态选择要执行的方法,而无需预先在struts.xml中硬编码。 **八、Action通配符(wildcard)的配置** 通配符配置允许为一组相似的Action定义一个通用配置,...

    struts2标签库实验报告.docx

    通过实验,学员能够掌握Struts2中几个常用标签(如`&lt;s:radio&gt;`、`&lt;s:select&gt;`、`&lt;s:token&gt;`)的应用,并理解OGNL表达式的基本用法。这些知识点对于初学者来说至关重要,因为它们构成了Struts2应用开发的基础。 ####...

    taglib(struts2标签).doc

    在 Struts2 中,Taglib(标签库)是用于增强 JSP 页面功能的关键组件,它们提供了一种声明式编程的方式,使得开发者可以更加专注于业务逻辑,而不是底层的 HTML 输出。Taglib 提供了一系列预定义的标签,这些标签...

    struts2标签库

    ### Struts2标签库详解 #### 一、Struts2标签库简介 Struts2框架是一种基于MVC设计模式的企业级应用开发框架,它能够帮助开发者构建高效且可维护的Web应用程序。Struts2框架内置了一个强大的标签库,这些标签不仅...

    struts2标签集

    Struts2的标签库主要分为以下几个部分: 1. **Action标签**:这是Struts2最基础的标签,用于调用Action并执行业务逻辑。例如`&lt;s:action&gt;`标签可以用来执行一个特定的Action,同时支持参数传递。 2. **Field标签**...

    struts1的标签

    在Struts1中,标签库是核心组件之一,它提供了一种声明式的方式来创建动态Web页面,减少了对Java脚本(scriptlets)的依赖,提高了代码的可读性和可维护性。Struts1提供了五个主要的标签库,它们分别是HTML、Bean、...

    struts2所需jar包 lib.zip

    在Struts2框架中,有几个关键的JAR文件值得关注: 1. **struts2-core**: 这是Struts2的核心库,包含Action、Result、Interceptor等核心组件的实现。它定义了请求的处理流程,并提供了自定义行为的扩展点。 2. **...

    Java EE 轻量级解决方案 — SSH 青岛东合信息技术有限公司 青岛海尔软件公司 著 教材源码 _ 第四章 Struts2标签库

    总的来说,"第四章 Struts2标签库"是Java EE轻量级开发中不可忽视的一环,它将帮助开发者掌握一种强大的工具,以便在Struts2框架下构建更优雅、更高效的Web应用。通过深入研究和实践,你将能够运用这些知识解决实际...

    Struts标签库

    在使用Struts标签库时,还需要注意以下几点: 1. 引入标签库:在JSP页面中通过`&lt;%@ taglib %&gt;`指令引入相应的标签库。 2. 标签名和属性:理解每个标签的名称及其属性,合理设置属性值,以实现期望的功能。 3. 国际化...

Global site tag (gtag.js) - Google Analytics