Struts2中UI标签之表单标签介绍
Struts2中UI标签之表单标签介绍
1.在Struts2中UI标签的表单标签分为两种:form标签本身和单个表单标签。
2.Struts2表单标签包括:form、textfield、password、radio、checkbox、checkboxlist、select、doubleselect、combobox、optiontransferselect、optgroup、updownselect、textarea、hidden、file、label、submit、token、head、datepicker、reset、richtexteditor 等。 其中这些标签的意义如下: form:输出一个form表单。 textfield:输出一个单行文本框。 password:输出一个密码框。 radio:输出一个单选框。 checkbox:输出一个复选框。 checkboxlist:输出一个复选框列表。 select:输出一个下拉框。 doubleselect:输出一个双选下拉框部件,第二个下拉框依赖第一个。 combobox:输出一个部件,可以从下拉框的内容填充一个文本框。 optiontransferselect:输出一个选项移动下拉组件,主要是两个下拉框和用来在两个下拉框之间移动选项的按钮。 updownselect:输出一个下拉框控件,带有上下按钮来移动下拉框组件元素。 textarea:输出一个多行文本框。 hidden:输出一个hidden表单字段。 file:输出一个文件选择框。 label:输出一个label。 submit:输出一个submit(提交)表单按钮。 token:输出一个隐藏的字段来防止多次提交表单。 head:输出对应theme的head部分的内容,比如Css和JavaScript的引用。 datepicker:输出一个日期选择部件,使用JavaScript和DOM。 reset:输出一个reset(重置)表单按钮。 richtexteditor:输出一个富文本编辑器。
3.对于Struts2的表单标签,大都是动态来生成HTML代码的,因此有很多的属性都是通用的,也就是大多表单标签都有的一些属性,接下来就来介绍一下: (1).name属性和value属性:在Struts2的表单标签中的name属性和value属性基本等同于HTML组件的name属性和value属性,但有些不同的地方:Struts2的表单标签在动态生成HTML代码时,如果标签没有设置value属性的话,就会从值栈中按照name获取相应的值,把这个获取到的值设置成生成的HTML组件的value属性值。 (2).其他通用属性:除了上面的name属性和value属性之外,大多数Struts2的表单标签还有几组通用属性: ~~与css相关的属性: cssClass:指定生成的HTML组件的class属性。 cssStyle:指定生成的HTML组件的style属性,使用内联的css属性。 cssErrorClass:指定验证失败时引用的css属性。 cssErrorStyle:指定验证失败时引用的内联css属性。
~~与触发事件相关的属性: onblur:指定生成的HTML组件失去焦点时触发的事件。 onchange:指定生成的HTML组件内容改变时触发的事件。 onclick:指定生成的HTML组件被单击时触发的事件。 ondbclick:指定生成的HTML组件被双击时触发的事件。 onfocus:指定生成的HTML组件获得焦点时触发的事件。 onkeydown:指定在生成的HTML组件中按下键盘时触发的事件。 onkeypress:指定在生成的HTML组件中按下并释放键盘时触发的事件。 onkeyup:指定在生成的HTML组件中释放键盘时触发的事件。 onmousedown:指定在生成的HTML组件中按下鼠标时触发的事件。 onmousemove:指定在生成的HTML组件中鼠标移动时触发的事件。 onmouseout:指定鼠标移动出生成的HTML组件时触发的事件。 onmouseover:指定鼠标移动入生成的HTML组件时触发的事件。 onmouseup:指定释放鼠标按键时触发的事件。 onselect:指定生成的HTML组件中选中区域改变时触发的事件。
~~与悬浮提示相关的属性: jsTooltipEnabled:是否允许用JavaScript来生成悬浮提示。 tooltip:悬浮提示的内容。 tootipDelay:悬浮提示出现的延迟时间,以毫秒为单位。 tooltipIcon:悬浮提示使用的图标的URL路径。
~~其他来源于html的属性: accesskey:指定快捷键,如果设置这个属性为x,按Alt+x就可以快速定位到这个生成的HTML组件。 disabled:生成的HTML组件是否可用。 id:指定生成的HTML组件的id。 tabindex:指定生成的HTML组件的tab顺序的索引。 title:指定生成的HTML组件的标题信息。
~~与提示文本相关的属性: label:用来显示在HTML组件前的文本。 key:同label一样,也是用来显示在HTML组件前的文本,但是其内容取自国际化信息。 labelposition:标签文本显示的位置,可以选择top或left。
~~与模板和主题相关的属性: template:指定使用的模板。 templateDir:指定使用的模板所在的目录。 theme:指定使用的主题。
~~与是否为必填项相关的属性: required:指定此生成的HTML组件是否为必填项。 requiredposition:指定此生成的HTML组件是必填项时提示信息显示的位置,可以选择left或right。
4.接下来分别对一些常用的表单标签进行介绍: (1).form标签:form(表单)标签是所有UI组件中最特别的一个,其它的UI组件要与服务器交互数据,必须放在这个标签内。这个标签也是在编写服务器端应用的时候最常用的一个标签,几乎所有的交互页面都可以看见它的影子。 form标签的属性如下表所示:
名称 是否必需 默认值 类型 说明 action 否 当前的action String 指定提交的action的名字,不要添加.action后缀 namespace 否 当前的命名空间 String 指定提交的action所属的名称空间 method 否 post String HTML表单的method属性,取值为get或post enctype 否 无 String 上传文件时,设为multipart/form-data focusElement 否 无 String 指定某个表单元素的id,当页面加载时,该元素具有焦点 validate 否 无 Boolean 是否执行客户端验证,只有使用xhtml主题或ajax主题时才有效
(2).单行文本框textfield标签:单行文本框是表单域中最常见,textfield标签对应着HTML的,用于生成单行文本。 除了上面列出的各种常见通用属性,textfield标签还有几个其它的属性:
名称 是否必需 默认值 类型 说明 maxlength 否 无 Integer 文本输入控件可以输入字符的最大长度 readonly 否 false Boolean 当该属性的值为true时,用户不能在文本控件中输入文本 size 否 无 Integer 指定文本输入控件的可视尺寸
(3).password标签:即密码框,用来输入一段单行文本,但是不会明文显示,而是用掩码代替。password标签对应。 除了上面列出的各种常见通用属性,password标签还有几个其它的属性:
名称 是否必需 默认值 类型 说明 maxlength 否 无 Integer 口令输入控件可以输入字符的最大长度 readonly 否 false Boolean 当该属性的值为true时, 用户不能在口令控件中输入文本 size 否 无 Integer 指定口令输入控件的可视尺寸 showPassword 否 false Boolean 是否显示密码,当为true时,密码被显示。除非特殊需求,否则不要将该属性设为true
(4)submit标签:submit标签输出一个提交按钮。submit标签和form标签一起使用可以提供异步表单提交功能,submit标签可以输出以下三种类型提交按钮: input:等价于: image:等价于: button:等价于: 除了上面列出的各种常见通用属性,submit标签还有几个其它的属性:
名称 是否必需 默认值 类型 说明 type 否 input String 要使用的提交按钮的类型,有效值为:input、button、image src 否 无 String 为image类型的提交按钮设置图片地址,该属性对input和button类型的提交按钮无效 action 否 无 String 指定处理提交请求的action method 否 无 String 指定处理提交请求的action的方法
(5).select标签:用来输出一个html列表框,等价于:。 除了上面列出的各种常见通用属性,select标签还有几个其它的属性:
名称 是否必需 默认值 类型 说明 (责任编辑:幽灵学院) |