`
黑暗浪子
  • 浏览: 507879 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Struts2讲义21

阅读更多

 

5.5  Struts2 表单标签简介

如果有对 HTML 比较熟悉的读者,肯定知道诸如 select chekbox 这些 HTML 标签的使用方式。这些标签其实是可以归类为表单标签。在 Struts2 中除了这些基本的 HTML 标签的定义外,它还定义了许多特殊的但又基于前述这些 HTML 表单标签的个性化标签。这些表单标签各具特色,是很值得介绍的。在开发中负责 view 层功能开发的开发人员如果使用这些标签,就能发现 Struts2 提供了多么丰富的 view 层功能。

5.5.1   基础表单标签使用介绍

技术要点

本节代码具体介绍各个基础表单标签的使用方式。这些标签其实都可以用 HTML 的表单标签来实现。读者可以了解 Struts2 的这部分表单标签和原有 HTML 表单标签实现功能几乎是相同的。

基础表单标签使用。

基础表单标签功能演示。

演示代码

基础表单标签的 JSP 文件:

<!------------------文件名:basicFormTag.jsp--------------->
<%@ page language="java" contentType="text/html; charset=gb2312"   pageEncoding="gb2312"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
………
         <body>
                   <h3 align="left">
                            基础表单标签使用范例(可使用HTML标签替代)
                   </h3>
                   <h3 align="left">
                            checkbox标签使用范例
                   </h3>
                   <p>
                            <s:checkbox label="别墅" name="bieshu" value="true" />
                            <s:checkbox label="公寓" name="gongyu" />
                   </p>
                   <h3 align="left">
                            checkboxlist标签使用范例
                   </h3>
                   <p>
                            <s:checkboxlist label="材料" list="{'进户门套油漆', '踢脚线', '大理石', '吊顶'}"
                                     name="material" />
                   </p>
                   <h3 align="left">
                            file标签使用范例
                   </h3>
                   <p>
                            <s:file name="file" accept="text/*" />
                            <s:file name="file" accept="image/jpeg"></s:file>
                   </p>
                   <h3 align="left">
                            select标签使用范例
                   </h3>
                   <p>
                            <s:select label="下拉框示例" name="material" headerKey="0" headerValue=" "
                                     list="#{'01':'进户门套油漆','02':'踢脚线','03':'大理石','04':'吊顶'}" />
                   </p>
                   <h3 align="left">
            optgroup标签使用范例
        </h3>
        <p>
           <s:select label="示例" name="material" headerKey="0" headerValue=" "
                list="#{'01':'进户门套油漆','02':'踢脚线','03':'大理石','04':'吊顶'}" >
               

                <s:optgroup label="材料品牌"

                list="#{'01':'多乐士超易洗','02':'绿太阳'}"/>

        </s:select>

        </p>

                   <h3 align="left">

            radio标签使用范例

        </h3>

        <p>

            <s:radio label="材料" list="{'进户门套油漆', '踢脚线', '大理石', '吊顶'}"

                name="material"/>

        </p>

        <h3 align="left">

            textarea标签使用范例

        </h3>

        <p>

            <s:textarea label="输入文本" labelposition="left" name="textarea" cols="40" rows="10"/>

        </p>

        <h3 align="left">

            textfield标签使用范例

        </h3>

        <p>

            <s:textfield label="输入文本"  name="textfield" size="40" maxlength="10"/>

        </p>

        <h3 align="left">

            password标签使用范例

        </h3>

        <p>

            <s:password label="输入密码"  name="password" size="20" maxlength="8"/>

        </p>

         </body>

</html>
 

 

功能演示如图 5.18 和图 5.19

 

5.18  基础表单标签范例图 1

 

5.19  基础表单标签范例图 2

代码解释

1 checkbox 标签的功能是显示一个可以让用户选择的复选框。其中 label 属性是显示复选框在页面上的选择项名字。 name 是定义该复选框的名字。而 value 属性则是表示是否选中。其中如果为“ true ”则表示被选中,在页面上该复选框中则会以“√”显示。反之则复选框中为空。

2 checkboxlist 标签的功能是根据一个数据集合来显示多个可以让用户选择的复选框。其中 label 属性是显示复选框在页面上的选择项名字。 List 是来指定数据集合,它实际上是一个 map 类型的数据集合。默认情况下,它的 key 就赋值给 value 属性,它自己的 value 则对应页面上显示的复选框内容。在代码中笔者向读者表示了基本的 checkboxlist 用法。它还有两个可以不写的属性,一个是 listKey ,它指定了集合中哪个属性作为复选框的 value 。另外一个属性为 listValue ,该属性指定集合中哪个属性作为在页面上显示的复选框内容。

3 file 标签 的功能是显示文件上传的输入框。该标签 在前面文件上传下载章节的代码中有过记述。这里重新记述,除了让读者加深理解之外,还向读者记述它的 accept 属性。该属性限定了上传的文件类型,文件类型的表示在前面章节也已说明。如果读者在 file 标签中上传了非 accept 属性指定的文件类型,则表单提交时候会报错。

4 select 标签的功能是提供一个下拉框。其中 list 属性也是指定一个数据集合,以 map list 类型显示。如果是 map 类型,则 key value 可以显示指定为下拉框中每个元素的值。集合中数据就是下拉框中的内容。 headerKey headerValue 属性是表明下拉框缺省显示的值和内容。 listKey listValue 属性则和 checkboxlist 标签中相同,都是表明值和在页面上显示的内容。它还有一个 multiple 属性,代码中笔者没有显示给读者看,它是表明下拉框中内容是否可以多选即同时选中下拉框中多项元素。

5 optgroup 标签的功能是配合 select 标签,在下拉框中显示一个选项组。它在页面上显示和 select 标签相同。所不同的是下拉框中选择内容的显示。读者请看图 5.20 5.21

 

5.20  select 标签下拉框内容

 

5.21  select optgroup 标签联合使用中下拉框内容

它的 list 属性其实就是指定了选择组中的内容。在该示例中就是显示了“材料品牌”这个选项组。选中“材料品牌”即表明下面两个品牌内容都被选中。

6 radio 标签 的功能是显示一个单选框。它的属性和 checkboxlist 标签属性相同。

7 textarea 标签的功能是显示一个文本输入框。它的 label name 属性和之前标签属性相同。它还有 rows cols 两个属性,这两个属性表示该文本输入框的行数和每行允许显示字数多少。

8 textfield 标签的功能是显示一个单行文本输入框。在之前章节有很多代码示例。这里就不多记述了。

9 password 标签的功能是显示一个输入密码的文本输入框。它输入的文字都不会显式的显示在页面上。而是用“●”来显示。

  • 大小: 59.7 KB
  • 大小: 23.8 KB
  • 大小: 4.4 KB
  • 大小: 6.4 KB
分享到:
评论
10 楼 bit6211 2009-12-07  
标签在循环方面,感觉可控性很难啊,很难定点操作。
9 楼 黑暗浪子 2009-10-20  
timeroading 写道
感谢楼主!
LZ写的很好,比市场上卖的书籍好很多哦。。。
非常盼望楼主能对freemarker或者dwr做深入的讲解。。。

dwr我没用过啊,不好意思不能帮上什么。
8 楼 timeroading 2009-10-20  
感谢楼主!
LZ写的很好,比市场上卖的书籍好很多哦。。。
非常盼望楼主能对freemarker或者dwr做深入的讲解。。。
7 楼 energykey 2009-10-13  
struts1我也用jstl,struts2用freemarker.
6 楼 黑暗浪子 2009-10-13  
MrLee23 写道
这些貌似都是struts2用作宣传的吧,实际项目中很少用的,如果用了的话,跟struts2耦合就高了.....

还是比较钟情于JSTL...

老实说,当年struts1时候我也没用它的标签。
5 楼 MrLee23 2009-10-12  
这些貌似都是struts2用作宣传的吧,实际项目中很少用的,如果用了的话,跟struts2耦合就高了.....

还是比较钟情于JSTL...
4 楼 夜之son 2009-10-12  
<p>ognl表达式在struts2中很好,jstl也很好,不知道企业到底用的最多的是那一种表达式。</p>
3 楼 ziyu_1 2009-10-12  
struts2的标签基本不用,只用jstl
2 楼 黑暗浪子 2009-10-12  
sunjun 写道
写的很详细,不错,但我碰到的所有的struts2的项目,只有一个是用jsp,里面使用了部分标签(主要是取值用的),像表单这样的标签都是尽量使用的HTML,其它项目都是使用的freemarker,推荐使用freemarker,简单高效,真的很不错

对的。我后面章节里有介绍freemarker的。这里是采取由浅入深方式来介绍。主要是为初学者服务。一下子都上,初学者不一定能消化。
1 楼 sunjun 2009-10-12  
写的很详细,不错,但我碰到的所有的struts2的项目,只有一个是用jsp,里面使用了部分标签(主要是取值用的),像表单这样的标签都是尽量使用的HTML,其它项目都是使用的freemarker,推荐使用freemarker,简单高效,真的很不错

相关推荐

    struts2讲义 struts2讲义struts2讲义struts2讲义struts2讲义

    ### Struts2讲义知识点概览 #### 一、Struts2的历史与发展 - **Struts框架的发展历程**: - Struts最初版本发布于2000年,是Java Web开发领域的一个重要里程碑。 - 随着时间的发展和技术的进步,Struts逐渐暴露...

    struts2讲义

    ### Struts2框架入门知识点详解 #### 一、Struts2框架概述 ##### 1.1 Struts2简介 Struts2是一个基于MVC(Model-View-Controller)设计模式的Web应用框架,用于简化Java Web应用程序的开发过程。与传统的Java Web...

    struts2讲义 DOC版

    struts2讲义struts2讲义struts2讲义struts2讲义struts2讲义struts2讲义struts2讲义struts2讲义struts2讲义struts2讲义struts2讲义

    struts2讲义-详解

    本讲义将详细介绍Struts2的核心概念、工作原理以及如何在实际项目中应用。 一、Struts2简介 Struts2是Apache软件基金会的开源项目,它是Struts1的升级版,旨在解决Struts1在可扩展性和灵活性上的不足。Struts2提供...

    struts2讲义,讲解struts2的框架

    在本讲义中,我们将深入探讨Struts2的基本概念、依赖的库、启动配置以及配置文件。 首先,开发Struts2应用需要依赖一些核心的JAR文件。这些文件包括: 1. `struts2-core-2.x.x.jar`:这是Struts2框架的核心库,...

    原创struts2讲义2.pdf

    ### Struts2框架详解 #### 一、Struts2框架介绍与概述 ##### 1.1 Struts2框架概述 Struts2是一个基于MVC(Model-View-Controller)模式的开源Java Web应用框架,它提供了强大的功能来帮助开发者构建灵活、可扩展...

    《Struts2讲义》吴峻申【电子书】

    第2章 Web基础技术简介第3章 Struts2核心技术第4章 另一Struts2核心技术:拦截器第5章 Struts2标签库第6章 Struts2非JSP视图技术第7章 Struts2类型转换技术第8章 Struts2输入校验第9章 Struts2国际化第10章 Struts2...

    Struts2讲义(Word文档格式)

    本讲义详细介绍了Struts2框架的各个方面,帮助开发者从基础到进阶全面掌握其用法。 1. **Struts2概述** Struts2是Apache软件基金会的开源项目,它继承了Struts1的优点并解决了其局限性,提供了更优秀的行动控制器...

    struts2讲义.doc

    ### Struts2讲义知识点概览 #### 一、Struts2的历史与发展 - **Struts框架的演变**:从Struts1到Struts2,框架经历了从MVC(Model-View-Controller)架构的经典实践到更为灵活、强大的迭代升级。 - **Struts2的...

    struts2 教程 讲义.(pdf)

    本教程讲义深入浅出地介绍了Struts2的核心概念和技术,旨在帮助开发者快速掌握这个框架的使用。 在Struts2中,主要知识点包括: 1. **MVC设计模式**:MVC模式是软件工程中的经典设计模式,它将应用程序分为模型...

    struts2讲义,解析

    这个“struts2讲义”显然提供了一个全面的教程,旨在帮助学习者理解和掌握Struts2的核心概念和技术。以下是Struts2的一些关键知识点: 1. **MVC模式**:Struts2基于Model-View-Controller(MVC)设计模式,它将应用...

    Struts2讲义1

    Struts2讲义1 Struts2是一款基于MVC(Model-View-Controller)设计模式的Java Web开发框架,由Apache软件基金会维护。它继承了Struts1的优点,并结合了WebWork框架的功能,提供了更强大的控制层解决方案。Struts2的...

    西安野马计算机培训学校STRUTS2讲义

    西安野马计算机培训学校的STRUTS2讲义,可能涵盖了这一框架的基础知识和高级特性,帮助学员理解和掌握Struts2的核心概念。 首先,Struts2的基础部分可能包括以下几个方面: 1. **架构原理**:讲解Struts2的MVC设计...

    黑暗浪子写的struts2讲义.pdf

    Struts2是Apache软件基金会...总的来说,黑暗浪子的这本Struts2讲义涵盖了Struts2的各个方面,无论对于初学者还是有经验的开发者,都是一个宝贵的参考资料,能帮助读者深入理解和熟练运用Struts2框架,提高开发效率。

    struts2讲义_吴峻申

    Struts2讲义 作者:吴峻申 目录 第1章 Struts过时了吗? 10 1.1 Struts历史发展过程 10 1.2 Struts2的“简历” 13 1.2.1 标签库介绍 13 1.2.2 拦截器应用目的 14 1.2.3 FilterDispatcher和Action概述 14 1.2.4 ...

Global site tag (gtag.js) - Google Analytics