我们使用display tag来生成表格。 displaytag功能比较完善,它具有分页和页码栏的功能。我们没有使用它的分页功能,因为这种分页不是在数据库查询层面的,所以数据库没有减轻丝毫的负担。
所以我们只让displaytag为我们显示数据和生成页码栏,而由我们自己编码来处理数据的分页。以下就是displaytag的属性设置。
<display:table id="question"
name="questionPage.list"
class="its"
size="questionPage.count"
partialList="true" pagesize="questionPage.pageSize"
requestURI="/question/questionQueryAction.do?method=query">
partialList这个属性就是告诉displaytag不使用它的分页功能。
页码栏页号参数都由displaytag生成,为了获取这个页号,必须知道它的参数名,这是displaytag根据id属性生成的,要得到它必须使用displaytag库中的API。以下是一个可以根据id来获得参数名的函数。
protected String getPageParamName(String id){
return new org.displaytag.util.ParamEncoder(id).
encodeParameterName(org.displaytag.tags.TableTagParameters.PARAMETER_PAGE);
}
有了参数名,就可以通过request.getparameter来获得页码了,之后的分页查询就可以做了。
使用displaytag的页码,也有其局限性。你必须保证页码参数必须以parameter的形式存在于request中。所以如果你想改变页码的话,对页码的控制逻辑一定要在IE里用JS来做,一旦到了server端,就无法改变了,因为parameter是不能改变的。
在表格中会有一些翻页的链接,这些连接会由displaytag自动生成,除了页码等参数外,还会把所有request中的parameter统统加入到URL中去。所以看到的URL会是这样的。
http://localhost:8080/question/questionQueryAction.do?keyword=&beginDate=2006-08-21
&products=&sort1=all&endDate=2006-08-23&d-4031840-p=2
&business=all&method=query&method=query&keywordType=V1
其中只有d-4031840-p=2是displaytag自己的,它是传递页码的参数。其它都是request中的参数,有些是查询参数,有些是和dispatchaction有关的参数。这样很有好处,特别是在做查询页面的时候,这些参数都是很有用的。
但是,如果遇到不需要的参数,也将不可避免的被加进去,通常是无害的,但有时是会致命的。有一次,我用表单上传一段文字,结果也被加到了URL里面,这编文章很长,而且是有HTML格式的,这最终导致链接无法使用。为了去掉这些没用的参数,可以使用displaytag的一个属性。如下:
excludedParams="id baseCode baseCode1 baseCode2 itemCode subDate aboutUser aboutProduct subjectTitle subjectContent"
把不要的参数统统列出来,用空格搁开就可以了。
总之,displaytag功能比较完善,但是也有一些局限——毕竟不是你自己编的代码嘛!——有时需要一些额外的工作,才能让它很好的为你工作。
分享到:
相关推荐
很全面的DisplayTag中文帮助文档,对了解和使用该标签有很大的帮助
用于解决,displaytag的中文显示问题
通过修改源码的方式 解决displaytag中文排序问题.压缩包中包含1.0与1.1版本修改的源文件、编译后的文件,及修改后的jar包。
displaytag1.1.1下载后还需要其他包才能用,现在为了方便压缩在一起
前些天在DISPLAYTAG官网下载了一个displaytag包,发现不支持中文导出,分页等说明文字也是英文的,现在把它改成中文的了,感觉还不错!省了自己写分页和导出数据包了.
displaytag详细用法(中文问题已解决,附带自己修改的properties文件)还附带了properties专用文件编辑器插件
总结网络中Display Tag使用,非常经典,帮助你学习和了解displaytag
你可以在现在流行的web应用的MVC模式中集成DisplayTag到View层,其提供的强大表格格式化功能一定会令你爱不释手。或许上面说的有些夸张了,但是DisplayTag在表格的格式化方面表现确实出色,当然,他也只能显示表格,...
displaytag标签使用详解 应用实例
补充: csdn附件不能修改,jsp+servlet分页时有bug,请注意查询所有的serlvet不支持带参数,即显示所有的请求写在独立的serlvet中 第二种解决方案,一张表的增删查改都在一个serlvet中通过带参数进行流程处理,比如:...
DisplayTag标签使用说明DisplayTag标签使用说明DisplayTag标签使用说明DisplayTag标签使用说明DisplayTag标签使用说明DisplayTag标签使用说明
displaytag所有包(资源) 及使用方法
displaytag的使用方法(用于数据表格的显示和功能控制)Displaytag1.1版本使用方法
displaytag是一个很好的插件 网上有很多资源 可是一直找不到好的代码示例 花了一个星期熟悉整理了下 分享给大家了 打算用这个表格插件的 这是一个很好的资源 O ∩ ∩ O ">资源包括3个文件 第一个是oracle版的程序...
displaytag 插件 中文提示 显示表格......
针对displaytag Excel导出中文乱码的情况,对其添加gbk编码,使其能顺利将中文导出excel
关于displaytag标签的使用 使用方便 做网页的时候用的着
示例如何使用displaytag,详细介绍displaytag在使用方式上的不同,具有举一反三的效果
DisplayTag分页及属性