- 浏览: 33811 次
- 性别:
- 来自: 上海
文章分类
最新评论
问题
想要一个更加简单的支持列表数据分页和排序的方法。
解决方案
使用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标签时就不那么必要了,但它们会帮助您理解这些基本功能是如何实现的。
发表评论
-
AI绘画软件:突破艺术的边界(大招在后面)
2024-03-15 11:53 79艺术与科技的交汇点一直是令人着迷的领域,而人工智能绘画软件的出 ... -
js页面缓存的一个解决办法
2013-12-06 18:02 0CSSOSAnt浏览器JavaScript 由于 ... -
解决js缓存地址问题
2013-12-06 17:56 647解决js缓存地址问题 js实现不缓存 <ME ... -
URL URI URN
2013-12-06 17:51 597总结如下: 1.简写: URI (uniform resour ... -
URI和URL的区别
2013-12-06 17:47 650这两天在写代码的时候,由于涉及到资源的位置,因此,需要在Jav ... -
display标签简介
2013-12-06 17:36 422下面是网友总结的displa ... -
jsp转换成html
2013-11-28 16:42 635相信很多人都希望自己的页面越快越好,最好是能静态的,提高 ... -
Java验证码
2013-11-28 15:11 413Java生成验证码图片 1.Servlet生成验证码图片 ... -
JAVA图片验证码
2013-11-28 15:08 509import java.awt.Color; ... -
JSP、Servlet中的相对路径和绝对路径
2013-11-15 13:09 563http://www.webjx.com 更新日期:200 ... -
jsp相对路径绝对路径
2013-11-15 12:57 394jsp相对路径绝对路径 ... -
JSP自定义标签rtexprvalue属性
2013-11-15 11:28 398JSP自定义标签rtexprvalue属性 分类: J2EE ... -
EL表达式 参考手册
2013-11-14 17:29 318一、EL简介 1.语法结构 ${expression ... -
springMVC+JDBC:分页示例
2013-11-13 15:30 861文章来源:http://liuzidong.iteye.c ... -
spring mvc 分页
2013-11-13 15:20 507springmvcstringhibernatesession ... -
get/post时中文乱码问题的解决办法
2013-11-13 14:00 402jspurlservlettomcat浏览器服 ... -
HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth之完全详解
2013-11-05 11:29 770HTML:scrollLeft,scrollWidth,c ...
相关推荐
在display:table标签中,默认情况下,空记录时不显示表头信息。如果想要显示表头信息,可以使用以下代码: `<display:setProperty name="basic.msg.empty_list_row" value="" />` `<display:setProperty name=...
Display Tag的分页功能主要通过`<display:table>`标签实现,可以设置页码、每页记录数等参数,通过`<display:column>`标签定义列的显示。同时,Display Tag会自动生成分页链接,用户点击即可切换页面。 而Pager ...
例如,`display:table`标签用于显示数据库中的数据,它可以自动处理分页和排序。`display:column`标签则用来定义表格中的列,可以设置列的标题、对齐方式、排序等属性。Display Tag库极大地提高了开发效率,减少了...
`DisplayManager`是Android提供的一个服务接口,它允许应用程序管理设备上的所有显示设备,包括获取显示设备的信息、注册监听器以接收显示状态变化的通知等。而`Display`对象则代表了一个具体的显示设备,如手机屏幕...
在网页设计中,图片交替显示是一种常见的动态效果,用于创建滑动展示、轮播图或幻灯片等组件。这种效果通常由JavaScript实现,因为HTML和CSS本身并不支持自动定时切换图片的功能。在这个主题中,我们将深入探讨如何...
对于图片交替显示,我们可以创建一个包含所有图片的容器,每个图片都有一个固定的宽度和高度,并设置为`display: none;`。然后通过改变`opacity`或`transform`属性,使得某一图片在特定时间间隔内显现,其他图片隐藏...
`display:table`标签用于定义表格,`display:sort`属性允许用户对列进行排序,`pagesize`属性指定了每页的记录数。`display:pagination`标签则生成分页链接。 注意,以上代码仅为示例,实际应用中需要根据具体需求...
因此,当你尝试将 `display` 从 `none` 变为空字符串,浏览器无法确定元素应该恢复到哪种显示状态,所以元素仍然保持不可见。 解决这个问题的方法是明确指定元素的显示类型,如 `display: block` 或 `display: ...
JSP Display标签是一种功能强大且灵活的标签,用于在Web应用程序中显示数据。DisplayTag提供了多种方式来显示数据,包括表格、树形结构、 csv、excel、pdf等。下面将详细介绍DisplayTag的配置和使用。 配置 在使用...
DisplayPort 1.2是显示接口技术的一种...通过阅读“Display_Port_1.2.pdf”文档,你将深入理解DisplayPort 1.2的详细规范、功能实现和实际应用,对于从事显示开发的专业人士来说,这份资料无疑是不可或缺的参考资料。
### Android Display 架构分析 #### 一、高通7系列硬件架构分析 高通7系列的硬件架构是Android Display架构的重要组成部分,主要包括以下几个部分: 1. **MDP (Mobile Display Processor)** - MDP是高通MSM7200A...
通过设置`<display:table>`的`pageLength`属性可以控制每页显示的行数,而`sort`属性启用后,用户可以通过点击列头进行排序。 ```jsp <display:table name="yourDataSource" sort="list" pageLength="10"> <!-- 列...
本资源主要介绍VisionPro脚本简单实现文本显示以及创建标签的功能。
华为交换机的display命令是用于网络维护和故障处理的重要工具,它可以帮助我们对交换机的配置信息、运行状态、系统资源使用情况等进行诊断和查看。下面详细介绍各个display命令的具体用途和操作方法。 1. 基本信息...
5. **交互性**:InteractiveDataDisplay.WPF支持鼠标悬停显示数据点信息、拖动缩放、平移等交互操作,提升用户体验。 总的来说,InteractiveDataDisplay.WPF为WPF开发者提供了一套强大的工具,能够方便地创建具有...
LCD(Liquid Crystal Display)是一种广泛应用于电子设备中的显示技术,主要特点是能耗低、体积小、显示清晰。在本文中,我们将深入探讨LCD字体显示及数字显示的相关知识点。 首先,LCD字体显示是LCD技术中的一项...
可在页面显示中文的分页信息,比如上一页,下一页信息等等
DisplayPort(显示端口)是一种数字视频接口标准,用于连接显示器和其他显示设备,如图形卡、计算机、电视等。在DisplayPort技术中,Link Training是一个关键过程,它确保了设备之间的可靠通信,优化数据传输质量和...
这就导致入口在其他工程师的代码里面,如果碰到负责显示部分的同事不清楚此功能,可能直接删除了,而负责 WiFi Display功能的同事,又找不到入口,就会浪费很多时间在分析为什么没有入口或与显示的工程师沟通务必...
RPi-Display, 2.8"Touchpanel显示所有 树莓派 模型 rpi显示2 8"tft显示器( 320 x240 ),适用于所有 树莓派 模型的Touchpanel 。 商店rpi显示 树莓派 1 a /B ,Pi2和 Pi3 B rpi显示 树莓派 1 a /B 。Pi2和 P