我们使用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功能比较完善,但是也有一些局限——毕竟不是你自己编的代码嘛!——有时需要一些额外的工作,才能让它很好的为你工作。
分享到:
相关推荐
在提供的压缩包中,有两个不同版本(1.0和1.1)的修改后的源文件,这意味着开发人员可能已经对原始DisplayTag的源码进行了调整,以适应中文排序的需要。修改可能包括实现自定义的比较器(Comparator),这个比较器会...
DisplayTag是Java Web开发中的一款开源表格标签库,它提供了丰富的表格展示功能,如分页、排序、导出等。DisplayTag 1.1.1是该库的...开发者只需要将这些库添加到项目的类路径中,就可以享受DisplayTag带来的强大功能。
很全面的DisplayTag中文帮助文档,对了解和使用该标签有很大的帮助
用于解决,displaytag的中文显示问题
DisplayTag是一个开源的Java库,专门用于创建复杂的表格展示,尤其在Web应用中十分常见。这个压缩包包含了解决DisplayTag在处理中文显示时遇到的问题,以及一个专门用于编辑.properties文件的插件,使得配置更加方便...
DisplayTag 是一个强大的开源 JSP 标签库,专门用于处理网页中的表格展示。它提供了丰富的功能,如分页、数据导出、列排序和分组等,极大地简化了网页表格的开发工作。要使用 DisplayTag,首先需要从其官方网站...
4. `displaytag-portlet`: 这可能是Displaytag针对portlet环境(如Liferay、Portal Server等)的实现,使得在portlet中也能方便地使用Displaytag的功能,比如在企业级应用中提供灵活的数据展示。 5. `displaytag-...
DisplayTag自动处理分页,只需要在`<display:table>`标签中设置`pagesize`属性即可,例如: ```jsp ``` 5. **导出**: 设置`export`属性为true后,用户可以通过点击表格上方的链接导出数据,DisplayTag支持...
为了实现中文提示,你需要在项目中引入displaytag-1.1.jar和displaytag-export-poi-1.1.jar这两个库,并且在项目的资源文件夹下放置一个displaytag.properties文件。在这个文件中,你可以定义中文的错误信息、提示...
前些天在DISPLAYTAG官网下载了一个displaytag包,发现不支持中文导出,分页等说明文字也是英文的,现在把它改成中文的了,感觉还不错!省了自己写分页和导出数据包了.
在Struts2中集成DisplayTag,首先需要将DisplayTag的JAR文件添加到项目的类路径中,并在web.xml配置文件中注册DisplayTag的过滤器和标签库。接着,在JSP页面上,可以使用`<%@ taglib %> `指令引入DisplayTag的标签库...
描述中提到的"技术指导文档"是DisplayTag的用户指南,它详细阐述了如何在项目中集成DisplayTag,以及如何配置和使用其特性。通过这个文档,开发者可以了解到如何创建表格、设置分页参数、实现列排序等操作。"点击...
在需要排序的列中增加 `sortable="true"` 属性,同时可以通过 `headerClass` 设置表头的样式。默认情况下,第一列会被设置为排序列,排序方式为递减。例如: ```jsp 姓名" sortable="true" headerClass=...
为了在项目中使用DisplayTag,首先需要下载并引用其提供的`DisplayTag.jar`文件,以及依赖的Apache项目相关jar包。此外,还需要在`web.xml`中进行相应的标签库配置,具体如下: ```xml <taglib-uri>...
这种方式通常用于快速查看对象数据,但实际应用中通常需要定制显示内容。 2. **定制列显示**: 使用`<display:column>`标签可以指定要显示的属性和列标题。`property`属性指定了对象的属性(对应getter方法),`...
DisplayTag是Java Web开发中的一款强大且功能丰富的表格标签库,它为开发人员提供了一种高效、易用的方式来展示表格数据。DisplayTag 1.2是这个库的一个版本,包含了源码和对应的jar包,方便开发者进行查看和使用。 ...
DisplayTag 的基础用法是在 JSP 页面中使用 `<display:table>` 标签来渲染一个表格。例如,以下代码会显示一个包含对象属性的列表: ```jsp ("test", new ReportList(6));%> ``` 这段代码将遍历 `test` 属性中的每...
DisplayTag 是一个开源的Java Web开发中的表格标签库,它为网页开发者提供了强大的表格展示功能。DisplayTag 1.1.1是该库的一个版本,它包含了一系列预定义的JSP标签,使得创建复杂的、可分页、可排序、可导出的表格...
在实际开发中,使用Displaytag时,需要在JSP页面上添加Displaytag的标签,并配置相应的属性,例如表格数据源、分页参数等。然后,Displaytag会处理这些信息,生成对应的HTML代码并返回给浏览器。通过这种方式,...