1
在我的應用程序中,我試圖使用Apache TomaHawk將數據從<h:DataTable>
導出爲PDF文件。加載頁面時,我收到一個異常。我已經粘貼了我的代碼和下面的例外。使用Tomahawk將數據導出爲PDF格式?
JSF代碼
<%@ page session="false" contentType="text/html;charset=utf-8"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%>
<%@ taglib uri="http://myfaces.apache.org/sandbox" prefix="s"%>
<f:view>
<html>
<body>
<h:form>
<p>
This component allows to export the datatable contents to an excel
or pdf file.
</p>
<br>
<t:dataTable id="tbl_cars" var="car" value="#{exBean.list}"
preserveDataModel="false">
<t:column>
<f:facet name="header">
<h:outputText value="Id" />
</f:facet>
<h:outputText value="#{car.id}" />
</t:column>
<t:column>
<f:facet name="header">
<h:outputText value="Type" />
</f:facet>
<h:outputText value="#{car.type}" />
</t:column>
<t:column>
<f:facet name="header">
<h:outputText value="Color" />
</f:facet>
<h:outputText value="#{car.color}" />
</t:column>
</t:dataTable>
<h:commandButton action="" value="Export as excel">
<s:exporterActionListener for="tbl_cars" fileType="XLS" />
</h:commandButton>
<br>
<h:commandButton action="" value="Export as pdf">
<s:exporterActionListener for="tbl_cars" fileType="PDF" />
</h:commandButton>
</h:form>
</body>
</html>
</f:view>
異常
java.lang.NoClassDefFoundError: Could not initialize class org.apache.myfaces.shared_tomahawk.config.MyfacesConfig
at org.apache.myfaces.renderkit.html.util.ExtensionsPhaseListener.writeCodeBeforeBodyEnd(ExtensionsPhaseListener.java:130)
at org.apache.myfaces.renderkit.html.util.ExtensionsPhaseListener.getCodeBeforeBodyEnd(ExtensionsPhaseListener.java:104)
at org.apache.myfaces.renderkit.html.util.ExtensionsPhaseListener.getJavaScriptCodeAndStoreInRequest(ExtensionsPhaseListener.java:94)
at org.apache.myfaces.renderkit.html.util.ExtensionsPhaseListener.afterPhase(ExtensionsPhaseListener.java:70)
at org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAfter(PhaseListenerManager.java:92)
at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:142)
at org.apache.myfaces.custom.ppr.PPRLifecycleWrapper.render(PPRLifecycleWrapper.java:84)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:182)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Thread.java:619)
已經檢查了你所說的所有事情。按照你剛纔提到的步驟行事。 – Hariharbalaji 2010-02-23 13:34:13
對不起,但例外情況證明,否則。如果你只*確定戰斧安裝正確,那麼毫無疑問就是版本衝突。清理舊版本重複的類路徑並對齊所有版本。或者重新讀取堆棧跟蹤來查找任何**根本原因**(下面的部分),對於您還沒有完成/理解的情況。 – BalusC 2010-02-23 13:48:31