分步学习Struts(六)标签库

        Struts框架提供了五类标签库,它们分别是HTML标签库、Bean标签库、Logic标签库、Template标签库(随着Tiles框架包的出现,此标记已开始减少使用,这里不做介绍)和Nested标签库。这其中:

HTML标签

        可以和标准的HTML元素完成相同的功能。HTML标签大致分为以下几类:

        1)、用于生成基本的HTML元素的标签

                html:生成HTML<html>元素
                base:生成HTML<base>元素
                link:生成HTML<a>元素
                rewrite:生成用户请求的URI
                img:生成HTML<img>元素

        2)、用于生成HTML表单的标签

                form:生成HTML<form>元素
                text:生成HTML<input type="text">元素
                hidden:生成HTML<input type="hidden">元素
                submit:生成HTML<input type="submit">元素
                cancel:在表单上生成取消按钮
                reset:生成HTML<input type="reset">元素
                hidden:在表单上生成隐藏字段
                checkbox:生成HTML<input type="checkbox">元素
                multibox:在表单上生成复选框元素
                radio:生成HTML<input type="radio">元素
                select:生成HTML<select>元素
                option:生成HTML<option>元素
                options:生成一组HTML<option>元素
                optionsCollection:生成一组HTML<option>元素
                file:生成HTML<input type="file">元素

        3)、显示错误或正常消息的标签

                errors:用于输出错误消息
                messages:在网页上输出消息

Bean标签

        可以访问已经存在的JavaBean以及它们的属性,还可以定义新的Bean。

        1)、用于访问HTTP请求信息或JSP隐含对象的Bean标签

                cookie:访问Cookie信息
                header:访问HTTP请求中的Header信息
                parameter:访问请求参数
                page:访问JSP隐含对象

        2)、用于访问Web应用资源的Bean标签

                message:显示Resource Bundle中的消息
                resource:把Web资源装载到一个JavaBean中
                struts:访问Struts的内在配置对象
                include:包含一个Web资源

        3)、用于定义或输出JavaBean的Bean标签

                define:定义一个变量
                write:显示JavaBean或其属性的内容
                size:获得Map或者Collection集合的长度

Logic标签

        可以根据特定的逻辑条件来控制输出网页内容,或者循环遍历集合中的所有元素。分为以下几类:

        1)、进行比较运算的Logic标签:

                equal:比较变量是否等于指定的常量
                notEqual:比较变量是否不等于指定的常量
                greaterEqual:比较变量是否大于或等于指定的常量
                greaterThan:比较变量是否大于指定的常量
                lessEqual:比较常量是否小于或等于指定的常量
                lessThan:比较常量是否小于指定的常量
          

        2)、进行字符串匹配的Logic标签

                match:判断常量是哦福包含指定的常量字符串
                notMatch:判断变量中是否不包含指定的常量字符串
        

       3)、判断指定内容是否存在的Logic标签

                empty:判断指定的变量是否为null,或者为空字符串
                notEmpty:判断指定的变量是否不为null,并且不是空字符串
                present:判断指定的安全角色、用户、Cookie、HTTP请求Header或JavaBean是否存在
                notPresent:判断指定的安全角色、用户、Cookie、HTTP请求Header或JavaBean是否不存在
                messagesPresent:判断指定的消息是否存在
                messagesNotPresent:判断指定的消息是否不存在

        4)、进行循环遍历的Logic标签

                iterate:循环遍历数组、Collection、Enumeration、Iterator或Map中的所有元素

       5)、进行请求转发或者重定向的Logic标签

                forward:进行请求转发
                redirect:进行请求重定向

Nested标签

       一部分标签用于表达JavaBean之间的嵌套关系,还有一部分标签能够在特定的嵌套级别提供和其他Struts标签库的标签相同的功能。
                nest:定义一个新的嵌套级别
                writeNesting:输出当前嵌套级别信息
                root:指定顶层级别的JavaBean
还有一部分Nested标签库的标签能够在特定的嵌套级别提供与Struts标签相同的功能:如text、define、equal等


       到此为止,关于Struts标签就简单介绍到这里。关于这些标签库的使用,仅仅做简单的了解是不够的,我们需要在了解上述内容的基础上,在实际的项目中应用、理解、深化并熟练掌握。

        提供一个英文版的CHM文档说明下载地址!Struts_Taglibs-chm.chm


posted @ 2013-06-02 16:47  zs234  阅读(207)  评论(0编辑  收藏  举报