博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Struts2--表单标签
阅读量:2441 次
发布时间:2019-05-10

本文共 4596 字,大约阅读时间需要 15 分钟。

Struts2 的表单标签用于向服务器提交用户输入的信息,绝大多数的表单标签都有其对应的 HTML 标签。

表单标签的公共属性

每一个表单标签在 Struts2 核心 JAR 文件的 org.apache.struts2.components 包中都有一个对应的类,这些对应的类都继承自 UIBean 类。

UIBean 类提供了一组公共属性,这些属性是所有表单标签的通用属性,具体如下表所示:

属性名 主题 数据类型 说明
title simple String 设置表单元素的 title 属性
disabled simple String 设置表单元素是否可用
label xhtml String 设置表单元素的 label 属性
labelPosition xhtml String 设置 label 元素的显示位置,可选值为 top 和 left(默认)
name simple String 设置表单元素的 name 属性,与 Action 中的属性名对应
value simple String 设置表单元素的值
cssClass simple String 设置表单元素的 class
cssStyle simple String 设置表单元素的 style 属性
required xhtml Boolean 设置表单元素为必填项
requiredposition xhtml String 设置必填标记(默认为*)相对于 label 元素的位置,可选值为 left 和 right(默认)
tabindex simple String 设置表单元素的 tabindex 属性

注意: 表单标签的 name 和 value 属性基本等同于 HTML 组件的 name 和 value,但也有所不同:表单标签在生成 HTML 时,如果标签没有设置 value 属性,则会从值栈中按照 name 获取相应的值,并把这个值设置成 HTML 组件的 value。

<s:form>标签

<s:form> 标签用于呈现 HTML 语言中的表单元素,其常用属性如下表所示。

属性名 是否必填 类型 说明
action String 指定提交时对应的 action,不需要 action 后缀
enctype String HTML 表单 enctype 属性
method String HTML 表单 method 属性
namespace String 所提交 action 的命名空间

在使用 <s:form> 标签时,一般会包含其他的表单元素,如 <s:textfield> 和 <s:radio> 等标签。在提交表单时,这些表单元素对应的 name 属性,将其作为参数传入 Struts2 框架进行处理。

<s:textfield>和<s:textarea>标签

<s:textfield> 和 <s:textarea> 标签的作用比较相似,都用于创建文本框,其主要区别在于 <s:textfield> 创建的是单行文本框,而 <s:textarea> 创建的是多行文本框。二者的使用也比较简单,一般只需要指定其 label 和 name 属性即可。

<s:textfield> 标签的用法:

<s:textarea> 标签的用法:

在上述两个用法中,name 属性用于指定单行/多行文本框的名称,在 Action 中,通过 name 属性即可获取单行/多行文本框的值。

此外, 标签还可以通过 value 属性指定单行/多行文本框的当前值,通过 cols 和 rows 属性分别指定多行文本框的列数和行数。

<s:passWord>标签

<s:password> 标签用于创建一个密码输入框,它可以生成 HTML 中的 标签。<s:password> 标签的常用属性说明如下表所示。

属性名 说明
name 用于指定密码输入框的名称
size 用于指定密码输入框的显示宽度,以字符数为单位
maxlength 用于限定密码输入框的最大输入字符串个数
showPassword 是否显示初始值,即使显示也仍为密文显示,用掩码代替

<s:password> 标签的使用方法如下所示:

需要注意的是,Struts2 的 <s:password> 标签与 HTML 的 标签也略有不同: 标签只要设置 value 属性就可以将 value 的属性值作为默认显示值;而 Struts2 的 <s:password> 标签除了要设置 value 属性值以外,还要设置 showPassword 属性值为 true。

<s:radio>标签

<s:radio> 标签用于创建单选按钮,生成 HTML 中的 标签。<s:radio> 标签的常用属性说明如下表所示。

属性名 是否必填 类型 说明
list Collection,Map Enmumeration,Iterator,Array 用于生成单选框中的集合
listKey String 指定集合对象中的哪个属性作为选项的 value
listValue String 指定集合对象中的哪个属性作为选项的内容

表中的三个属性必须要配合使用,由 list 属性指定从集合中获得元素,由 listKey 属性指定获得元素之后使用元素的哪个属性作为生成 的 value 属性,由 listValue 属性指定生成的 后展示给用户的内容。

<s:reset>标签

<s:reset> 标签用于创建一个重置按钮,会生成 HTML 中的 标签,该标签的使用比较简单,其常用属性为 name 和 value。

其中,name 属性用于指定重置按钮的名称,在 Action 中,可以通过 name 属性获取重置按钮的值,value 属性用于显示按钮的值。该标签的用法如下所示:

<s:submit>标签

<s:submit> 标签主要用于产生 HTML 中的提交按钮,该表单元素中,可以指定提交时的 Action 对应的方法。该标签通常与 <s:form> 标签一起使用,该标签的常用属性如下表所示。

属性名 是否必填 类型 说明
action String 指定提交时对应的 Action
method String 指定 Action 中调用的方法

示例

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@taglib prefix="s" uri="/struts-tags" %>
用户注册

效果:

在这里插入图片描述

<s:checkboxlist>标签

<s:checkboxlist> 标签用于一次性创建多个复选框,用户可以选择创建零到多个复选框,它可以产生一组标签。

属性名 是否必填 类型 说明
name String 指定该元素的 name
label String 指定复选框前显示的文本
list list 定义集合变量
listKey String 指定集合对象中的哪个属性作为选项的 value
listValue String 指定集合对象中的哪个属性作为选项的内容

listKey 和 listValue 属性主要用于集合中,通常存放的是 JavaBean,可以使用这两个属性从 JavaBean 的众多属性中筛选需要的值。

<s:select>标签

<s:select> 标签用于创建一个下拉列表框,它会生成 HTML 中的 标签。<s:select> 标签的常用属性及其说明如下表所示。

属性名 是否必填 类型 说明
list Collection,Map Enmumeration,Iterator,Array 用于生成下拉框的集合
listKey String 生成选项的 value 属性
listValue String 生成选项的显示文字
headerKey String 在所有的选项前再添加一个额外的选项作为其标题的 value 值
headerValue String 显示在页面中 header 选项的内容
multiple Boolean 指定是否多选,默认为 false
emptyOption Boolean 是否在标题和真实的选项之间加一个空选项
size Integer 下拉框的高度,即最多可以同时显示多少个选项

headerKey 和 headerValue 属性需要同时使用,使用时会在所有的真实选项之前加添一项作为标题项。如选择城市时,可以在所有的具体城市之前添加一项“请选择”,这一项不会作为备选的值。

size 属性可以让下拉框同时显示多个值,multiple 属性让用户同时选择多个值,只是在后台的 Action 接收下拉框值时,不能使用 String 类型,而是使用 String[] 或者 List。

<s:optgroup>标签

<s:optgroup> 标签用于生成选项组,通常作为 <s:select> 标签的子标签使用。由于在一个下拉列表框中可以包含多个选项组,所以 <s:select> 标签也能够包含多个 <s:optgroup> 标签。

使用 <s:optgroup> 标签时,也需要指定该标签的 list、listKey、listValue 等属性,这些属性的含义与 <s:select> 标签的相应属性含义相同。此外,<s:optgroup> 标签的 label 属性表示选项组的组名,选项组的组名是不能被选中的。

示例:

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@taglib prefix="s" uri="/struts-tags" %>
optgroup标签

在这里插入图片描述

<s:file>标签

<s:file> 标签用于创建一个文件选择框,它会生成 HTML 中的 标签。该标签常用的属性及其说明如下表所示。

属性名 是否必填 类型 说明
name String 指定表单元素名
accept String 指定可接收的文件 MIME 类型,默认为input

<s:hidden>标签

<s:hidden> 标签用于创建隐藏表单元素,它会生成 HTML 中的隐藏域标签 。该标签在页面上没有任何显示,可用于保存或交换数据,如需要提交表单时,要传递一个值到请求参数中,就可以使用该标签。

该标签的使用非常简单,通常只需要设置 name 和 value 属性即可,其使用语法如下所示:

转载地址:http://iasqb.baihongyu.com/

你可能感兴趣的文章
看HashMap源码前的必备冷知识,白话文式教学,适合刚开始了解源码的新手观看
查看>>
Spring-data-redis在shiro中的实例
查看>>
WinXP优化 全面消除操作系统的复制乱码(转)
查看>>
Windows Vista Beta2 中文版优化归类(转)
查看>>
Windows Vista IIS 7.0开启方法(转)
查看>>
RedHat上SSH2的安装和使用(转)
查看>>
安全使用RedHat Linux系统(转)
查看>>
RedHat Enterprise AS4硬盘安装步骤(转)
查看>>
全国第一个高校Linux培训考试中心建立(转)
查看>>
gcc编译器小知识FAQ(转)
查看>>
Linux下多线程编程与信号处理易疏忽的一个例子(转)
查看>>
流氓和木马结合 强行关闭你的防火墙(转)
查看>>
SUSE一纸诉状控告SCO 捍卫知识产权(转)
查看>>
创建小于16M XFree86迷你Linux系统(转)
查看>>
shell中常用的工具(转)
查看>>
使用MySQL内建复制功能来最佳化可用性(转)
查看>>
一个比较vista的vista主题for rf5.0fb(转)
查看>>
Fedora Core 5.0 安装教程{下载}(转)
查看>>
把ACCESS的数据导入到Mysql中(转)
查看>>
shell里边子函数与主函数的实例(转)
查看>>