Struts2的标签库详解(一)

Struts2框架提供了丰富的标签库用于构建视图组件。Struts2标签库大大简化了视图页面的开发,并且提高了视图组件的可维护性。

Struts2标签库一般分为三大类:UI标签、非UI标签、Ajax标签。
UI标签(用户界面标签):主要用来生成HTML元素的标签。
非UI标签(非用户界面标签):只要用来实现数据访问、逻辑控制。
Ajax标签:主要用于Ajax技术。

下面我来介绍一下Struts2中常用的标签:

1、<s:checkbox>标签
checkbox标签是复选框标签,常用属性如下所示:
(1)、label:设置显示的字符串,可选项;
(2)、name:设置表单元素的名字,必选项;
(3)、value:该属性用于设置是否默认选定,可选项;
例子:
<s:checkbox label=“学习” name=“学习” value=“true”/>

2、<s:checkboxlist>标签
checkboxlist标签可以一次性创建多个复选框,在HTML中可以使用多行实现。常用属性是list。
list:指定集合用于生成复选框的列表项,可以使用List集合或者Map对象,必选项;
例如:
<s:checkboxlist label=“个人爱好” list="(‘学习’,‘看电影’,‘编程序’)" name=“love”></s:checkboxlist>

3、<s:combobox>标签
combobox标签生成一个单行文本框和一个下拉列表框的组合,两个表单元素对应一个请求,单行文本框中的值对应请求参数,下拉列表框只是起到辅助作用。常用属性如下所示:
(1)、list:指定集合生成下拉列表项,可以使用List集合或者Map对象,必选项;
(2)、readonly:指定文本框是否可以编辑,当readonly为true时,不可编辑,当readonly为false时,可编辑,默认为false,可选项;

例子:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>combobox标签的使用</title>
	</head>
	<body>
		<s:form>
				<s:combobox label="颜色选择" name="colorName" readonly="false"
					 headerValue="---请选择---"headerKey="1" list="{'红色','黄色','绿色'}">
				</s:combobox>
		</s:form>
	</body>
</html>

运行结果:
combobox初始界面
在这里插入图片描述
4、<s:doubleselect>标签
doubleselect标签生成一个相互关联的列表框,在第一个列表框中选择某一项后,第二个列表框中将自动为其选定相应内容。常用属性如下所示。
(1)、name:指定列表的名字,必选项;
(2)、headerValue:指定列表框默认项的值;
(3)、headerKey:指定列表框默认项的值;
(4)、doubleName:指定第二个下拉列表框的名字;
(5)、list:指定第一个下拉列表框中选项的集合;
(6)、doubleList:指定第二个下拉列表框中选项集合;
(7)、top:指定第一列表框;

例子:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>doubleselect标签的使用</title>
	</head>
	<body>
		<s:form>
				<s:doubleselect label="选择一项" headerValue="---请选择---"
					headerKey="1" doubleName="doublese1" list="{'颜色','水果'}" 
					doubleList="top=='颜色' ? {'红色','黄色','绿色'} : {'苹果','梨','西瓜'}" />
		</s:form>
	</body>
</html>

运行结果:
在这里插入图片描述
5、<s:file>标签
file标签用于在页面上生成一个上传文件的元素。上传文件的具体实现以后再慢慢细谈。

例子:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>file标签的使用</title>
	</head>
	<body>
		<s:form>
				<s:file name="UploadFileName" label="上传文件" accept="text/*" />
		</s:form>
	</body>
</html>

运行结果:
在这里插入图片描述
6、<s:select>标签
select标签可以生成一个下拉列表框,常用属性如下所示。
(1)、size:指定下拉列表框中可以显示的选择项个数,可选项;
(2)、multiple:设置该列表看是否可以多选,默认值为false,可选项;
(3)、list:指定下拉列表框的内容。

例子:
<s:select label=“选择星期” headerValue="—请选择—" headerKey=“3” list="{‘星期一’,‘星期二’,‘星期三’,‘星期四’}" />

7、<s:radio>标签
radio标签为一个单选框,用法和checkboxlist标签相似。

例子:
<s:radio label=“性别” list="{‘男’,‘女’}" name=“sex” />

8、<s:textarea>标签
textarea标签用来生成一个文本区域,由行和列组成。

例子:
<s:textarea label=“留言板” name=“留言” cols=“10” rows=“10” />

9、<s:token>标签
token标签的使用目的是防止用户多次提交表单,避免恶意刷新页面。

例子:
<s:token />

10、<s:optiontransferselect>标签
optiontransferselect标签用来创建2个选项框以及转移项,该标签会自动生成两个下拉列表框,同时生成相关的按钮,这些按钮可以控制选项在两个下拉列表框之间移动和排序,常用属性如下所示:
(1)、addAllToLeftLabel:设置实现全部左移动功能按钮上的文本。
(2)、addAllToRightLabel:设置实现全部右移动功能按钮上的文本。
(3)、addToLeftLabel:设置左移动功能按钮上的文本。
(4)、addToRightLabel:设置右移动功能按钮上的文本。
(5)、allowAddAllToLeft:设置全部左移动功能的按钮。
(6)、allowAddAllToRight:设置全部右移动功能的按钮。
(7)、allowAddToLeft:设置左移动功能的按钮。
(8)、allowAddToRight:设置右移动功能的按钮。
(9)、leftTitle:设置左边列表框的标题。
(10)、RightTitle:设置右边列表框的标题。
(11)、allowSelectAll:设置全部选择功能的按钮。
(12)、selectAllLabel:设置全部选择功能按钮上的文本。
(13)、multiple:设置第一个列表框是否多选,默认为true。
(14)、doubleName:设置第二个列表框的名字。
(15)、doubleList:设置第二个列表框的集合。
(16)、doubleMultiple:设置第二个列表框是否允许多选,默认是true。

例子:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>optiontransferselect标签的使用</title>
	</head>
	<body>
		<s:form>
				<s:optiontransferselect label="你喜欢的城市" name="left" leftTitle="国内" 
					rightTitle="国外" list="{'北京','上海','深圳','海口','青岛'}" 
					headerValue="---请选择---" headerKey="1" doubleName="right" 
					doubleHeaderValue="---请选择---" doubleHeaderKey="1"
					 doubleList="{'华盛顿','东京','温哥华','多伦多'}" />			
		</s:form>
	</body>
</html>

运行结果:
在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值