• display标签交替显示不同行颜色



    问题
    想要一个更加简单的支持列表数据分页和排序的方法。
    解决方案
    使用Display标签库和JSP标签库。
    例4.13介绍了一个JSP页,它使用4.5节中的数据模型显示美国总统列表。这个JSP页面使用display标签库显示了一个表。这个页可以交替显示不同行的颜色,允许分页、排序,并且不要求任何自定义的Java代码。
    例4.13:DisplayTag示例
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%@ taglib uri="http://displaytag.sf.net/el" prefix="display" %>
    <html>
    <head>
    <title>Struts Cookbook - Chapter 4 : Display Tag Example</title>
    <style>
    .even {background-color:orange;}
    .odd {background-color:yellow;}
    </style>
    </head>
    <body>
    <h2>Display Tag Examples</h2>
    <jsp:useBean id="pagedData" class="com.oreilly.strutsckbk.ch04.
        PagedData"/>
    <display:table id="pres" name="${pagedData.data}"
                     sort="list" pagesize="10" defaultsort="3">
        <display:caption>United States Presidents</display:caption>
       <display:setProperty name="basic.show.header" value="true"/>
        <display:column property="firstName" title="First Name"
                        sortable="true"/>
        <display:column property="lastName" title="Last Name"
                        sortable="true"/>
        <display:column property="term" title="Term of Office"
                        sortable="true"/>
    </display:table>
    </body>
    </html>
    讨论
    display标签库是一个开源的标签库,您可以使用它的很多功能来显示列表数据。这个解决方案创建的页面如图4.8所示。
    web页如图4.8所示,使用很少的自定义标签就能封装创建表的很多功能。假如将这个方法与以前的相比,就会明白为什么这个方法如此流行。
    注意:这个方法提供了表现层的分页。对于来自底层持久层的数据总数没有任何                         限制。
    要用display标签库,需要从http://displaytag.sourceforge.net下载。下载完毕后,复制displaytag.jar文件到web应用程序的WEB-INF/lib文件夹。还需要复制一个标签库描述符(.tld)文件到您的文件夹。Display标签提供两种选择。此方案使用了displaytags-el.tld文件。这些标签支持JSTL表达式的属性值。
    EL-version的display标签要求jst1.jar和standard.jar的JAR文件放在WEB-INF/lib文件夹中。
    display标签库依赖于Jakarta Commons Lang library 2.0或者更新的版本commons-lang-2.0.jar。

    图4.8 使用display标签创建的表
    提示:在写这本书的时候,Struts 1.1使用了Commons Lang的早期版本,而Struts 1.2并没有包括Commons Lang的任何版本。您可以从http://jakarta.apache.org/ commons下载commons-lang-2.0.jar。在WEB-INF/lib文件夹中把commons-lang.jar替换成commons-lang-2.0.jar。从这时起,不会再有任何关于不兼容或者依赖的问题了。
    display标签提供了很多功能并且都很容易使用。首先,display:table标签指定了关于整个表的信息:
    <display:table id="pres" name="${pagedData.data}"
                 sort="list" pagesize="10" defaultsort="3">
    id属性创建了一个域变量,该变量可以用作引用当前的行。name属性指定要显示的集合,sort属性指明数据如何排序,list指定整个列表都被排序,page指出只有当前页可见数据才可以排序,pagesize属性的值表示每页所显示行的数量。
    提示:设置pagesize属性将自动实现分页。
    defaultsort属性在数据最初排序时指定列(从1开始)。在这个方案中,这个值设置为3,即按“Term of Office”列排序。
    display:caption标签在列头上绘制表的标题:
    <display:caption>United States Presidents</display:caption>
    display:column标签指定要显示的每一列的信息:
    <display:column property="firstName" title="First Name"
                    sortable="true"/>
    property属性指定JavaBean属性,这些属性保存列的数据。title属性指定在列头显示的文本。sortable属性指定数据是否能够按照这个列进行排序。假如这个值设置为true,那么点击列头就会按照该列排序。
    display标签库提供了将显示数据导出到XML、Excel工作簿、逗号分隔值(.csv)文件的功能。这个功能可以通过一些库中的servlet过滤器来实现。接着设置display:table标签的export属性值为true。相关文档提供了display标签有关设置export功能的所有                 细节。
    相关链接
    display标签库的完全细节可以在它的网站上找到:http://displaytag.sourceforge.net。4.3节、4.4节和4.5节介绍了如何通过其他的方法完成类似的功能。这些“自我实现”的章节在使用display标签时就不那么必要了,但它们会帮助您理解这些基本功能是如何实现的。
  • 相关阅读:
    Servlet 06: jar包引入和web配置文件创建
    Servlet 05: Servlet生命周期方法
    Servlet 04: 什么是重定向
    Servlet 03: 通过xml配置文件配置servlet访问路径
    080 面向过程编程
    079 内置函数
    078 匿名函数
    077 递归
    076 生成器
    075 字典生成式
  • 原文地址:https://www.cnblogs.com/iamconan/p/7383429.html
Copyright © 2020-2023  润新知