Display 标签的使用与分页出错/汇出中文乱码

来源:互联网 发布:r0110燃气轮机知乎 编辑:程序博客网 时间:2024/06/05 19:33

一、简介

    可以呈现如table的格式,自行设定排序、分页、导出...等。

二、使用步骤

    (1)下载jar包,放到WEB-INF/lib下,另外还需2个辅助包:apache的 commons-lang和standard包。

    (2)在web.xml下添加一个filter

<filter><filter-name>exportFilter</filter-name><filter-class>org.displaytag.filter.ResponseOverrideFilter</filter-class></filter>
    (3)在jsp页面添加一个引用

<%@taglib prefix=”display” uri=”http://displaytag.sf.net” %>
    (4)在jsp中进行使用

<display:table id ="X" name="sessionScope.register" export="true"  cellspacing="1" cellpadding="1" defaultsort="1" pagesize="7" class="simple">  <display:column property="applyFormNo" title="申请单号" sortable="true"/>  <display:column property="applyFormItem" title="序号" sortable="true"/>  <display:column  title="申请客戶" sortable="true">       <c:out value="${X.applyFormDO.applyCustomer}"/>  </display:column></display:table>

   【 name属性指定资料的来源;   export属性指定是否有导出功能;   defaultsort="1" 指定按第1列进行排序;   pagesize设定每页显示条数;

         id属性指定一个变量名X,代表每行的资料;

         <display:column>的property属性,指定的是X对象内部存在的属性;同时也可以添加非属性的列(如申请用户),但是要对该列指定值;

         title属性是列的标题;   sortable设定该列是否可以排序。】

三、问题

    (1)地址栏越来越长,报res://ieframe.dll/http_400_webOC.htm

     问题:display分页,页面跳转多次,最后无法显示。

     原因:display默认使用地址栏来传递参数,而且会对参数进行编码处理,当参数过多过长时,容易被截断,导致无法显示。

     解决:

              方法1、使用excludeParams属性,排除不必要的参数:

               <display:table requestURI="AA.do?param1=aaa" excludeParams="param1"> 可以过滤掉参数param1,不然越来越多。

                也可以使用excludeParams="*" 过滤掉所有参数。

               方法2、使用form属性,通过post方式来传递参数。           

               <form name="Aform" action="AA.do?param1= aaa" method="post" > 

                     <display:table name="${list}" requestURI="AA.do?param1= aaa" 

                     export="true" form="Aform"  id="X"  >      

                               <display:column property="B" title="B"/>      

                               <display:column property="C" title="C"/>  

                      </display:table>  

                </form>

四、displaytag 的export功能,汇出中文乱码

【解决】

        解压displaytag-1.2.jar包,找到org/displaytag/properties文件夹中的displaytag.properties文件,复制到项目classpath(即src)下,修改所需的内容。

        原本为:export.excel.class=org.displaytag.export.ExcelView

        修改为:export.excel.class=org.displaytag.export.excel.ExcelHssfView

原创粉丝点击