0

我在我的春季项目中使用蒲公英数据表。我想将我的数据表网格导出为 pdf、excel 等。

所以我从PDF开始

按照这个链接

我一个一个地跟着步骤。

第 1 步:添加 jar 文件

datatables-export-itext-0.10.0.jar
datatables-export-poi-0.10.0.jar
datatables-export-poi-ooxml-0.10.0.jar
itext-1.3.jar

第 2 步: Web.xml添加过滤器

 <!-- Dandelion-Datatables filter definition (used for export) -->
<filter>
    <filter-name>datatablesFilter</filter-name>
    <filter-class>com.github.dandelion.datatables.extras.servlet2.filter.DatatablesFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>datatablesFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

在jsp中

 <datatables:table id="roles" data="${list}" cssClass="table table-striped" pageable="true" displayLength="5" filterable="true" processing="true" autoWidth="true" export="pdf">
  <datatables:column title="Id" property="roleId" />
  <datatables:column title="Role" property="role" />
  <datatables:export type="pdf" cssClass="btn btn-small" />
 </datatables:table>

但我收到以下错误。

java.lang.ClassNotFoundException: com.github.dandelion.datatables.core.export.ExportPropertiesat org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1360) at org.apache.catalina.loader.WebappClassLoader.loadClass( WebappClassLoader.java:1206) 在 com.github.dandelion.datatables.extras.servlet2.filter.DatatablesFilter.doFilter(DatatablesFilter.java:88) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在 com.github.dandelion.core.web.DandelionFilter.doFilter(DandelionFilter.java:157) 在 org.apache.catalina.core.ApplicationFilterChain .internalDoFilter(ApplicationFilterChain.java:235) 在 org.apache.catalina.core.ApplicationFilterChain。doFilter(ApplicationFilterChain.java:206) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java: 118) 在 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 在 org.springframework 的 org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84) .security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) 在 org....org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter( FilterChainProxy.java:342) 在 org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) 在 org....org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter( FilterChainProxy.java:342) 在 org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) 在 org....doFilter(ExceptionTranslationFilter.java:113) 在 org....doFilter(ExceptionTranslationFilter.java:113) 在 org....

我错过了什么??

请提供任何帮助。提前致谢。

4

2 回答 2

1

从 v0.10.0 开始,安装步骤发生了变化,您提到的旧类中的datatables-servlet2DatatablesFilter extra不再存在。

首先,确保在你的web.xml文件中声明了所有需要的组件,尤其是DandelionFilterDandelionServlet. 安装指南在这里。还编写了从 0.9.x 到 0.10.x的迁移指南。

关于导出功能,您似乎更喜欢基于过滤器的导出。在这种情况下,您还必须更新 web.xml 文件:

<!-- Dandelion-Datatables filter used for basic export -->
<filter>
    <filter-name>datatables</filter-name>
    <filter-class>com.github.dandelion.datatables.core.web.filter.DatatablesFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>datatables</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping> 

在此处阅读有关使用基于过滤器的导出时的要求的更多信息。

默认情况下,datatables-core JAR 为 XML 和 CSV 格式提供实用程序类。如果您想以 PDF、XLS 或 XLSX 格式导出,则存在其他实用程序,位于不同的附加文件中。请参阅此处有关导出功能的新介绍。

当然,为了避免任何其他依赖问题,我强烈建议使用构建工具,例如 Maven 或 Gradle。

(StackOverflow 要求的免责声明:我是蒲公英的作者)

于 2014-06-02T11:00:44.817 回答
0

看起来datatables-core-x.y.z.jar您的类路径中缺少 。

于 2014-06-02T09:46:28.583 回答