2012-03-21 19 views
1

私は縫い目を使用してExcelにrichdataテーブルをエクスポートしようとしている、と http://docs.jboss.org/seam/2.1.0.GA/reference/en-US/html/excel.html#excel.introシーム輸出のDataTable

次それはあなたのアプリケーション内でのMicrosoft®Excel®スプレッドアプリケーションのサポートを含めるには、「指示し、jboss-を含みますseam-excel.jarをWEB-INF/libdirectoryにjxl.jar JARファイルとともに追加してください。私は瓶用オンライン2つの依存関係の下に見つけ

..

戦争のpom.xml

<dependency> 
    <groupId>org.jboss.seam</groupId> 
    <artifactId>jboss-seam-excel</artifactId> 
    <version>2.2.0.GA</version> 
</dependency> 
<dependency> 
    <groupId>net.sourceforge.jexcelapi</groupId> 
    <artifactId>jxl</artifactId> 
    <version>2.6.12</version> 
</dependency> 

web.xmlの

<servlet> 
     <servlet-name>Document Store Servlet</servlet-name> 
     <servlet-class>org.jboss.seam.document.DocumentStoreServlet</servlet-class> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>Document Store Servlet</servlet-name> 
     <url-pattern>*.xls</url-pattern> 
    </servlet-mapping> 

    <context-param> 
    <param-name>webAppRootKey</param-name> 
    <param-value>seam-excel</param-value> 
    </context-param> 

をcomponents.xml

<components 
     xmlns:excel="http://jboss.com/products/seam/excel" 
     xmlns:document="http://jboss.com/products/seam/document" 

     http://jboss.com/products/seam/excel http://jboss.com/products/seam/excel-2.1.xsd 
     http://jboss.com/products/seam/document http://jboss.com/products/seam/document-2.1.xsd"> 

     <excel:document-store use-extensions="true"/> 
     <document:document-store use-extensions="true"/> 
</components> 

以前私もこの展開例外を発生させたをcomponents.xml

<excel:excelFactory> 
   <property name="implementations"> 
      <key>myExcelExporter</key> 
      <value>my.excel.exporter.ExcelExport</value> 
   </property> 
</excel:excelFactory> 

に以下の持っていた、また、誰もが自分のコードでそれを言及していない、私はこれを取り除くと展開例外ました。どこでも

はjboss-シームエクセル-2.1.2.jarJXL-2.6.12.jar

しかし、libのWEB-INF /の下に配備されている、私は見つけることができませんでした... org.jboss.seam.excel.DocumentStoreServlet、私は右のログイン時にプロパティが見つからない例外を取得しています、

しかしweb.xmlにorg.jboss.seam.document.DocumentStoreServletを使用して、以下の完全なエラースタックトレースが..です loginAction.stationIDは私の変化とは何の関係もありません...

17:04:24,934 |WARNING| [lifecycle:81] /login.xhtml @52,138 value="#{loginAction.stationID}": Target Unreachable, identifier 'loginAction' resolved to null |||| 
javax.el.PropertyNotFoundException: /login.xhtml @52,138 value="#{loginAction.stationID}": Target Unreachable, identifier 'loginAction' resolved to null 
    at com.sun.facelets.el.TagValueExpression.getType(TagValueExpression.java:62) 
    at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:92) 
    at javax.faces.component.UIInput.getConvertedValue(UIInput.java:942) 
    at javax.faces.component.UIInput.validate(UIInput.java:868) 
    at javax.faces.component.UIInput.executeValidate(UIInput.java:1072) 
    at javax.faces.component.UIInput.processValidators(UIInput.java:672) 
    at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1058) 
    at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1058) 
    at javax.faces.component.UIForm.processValidators(UIForm.java:235) 
    at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1058) 
    at org.ajax4jsf.component.AjaxViewRoot$3.invokeContextCallback(AjaxViewRoot.java:439) 
    at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:238) 
    at org.ajax4jsf.component.AjaxViewRoot.processValidators(AjaxViewRoot.java:455) 
    at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76) 
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100) 
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) 
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:510) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at com.billmelater.csa.filters.NewSessionFilter.doFilter(NewSessionFilter.java:89) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at com.billmelater.csa.filters.Perf4JFilter.doFilter(Perf4JFilter.java:53) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83) 
    at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40) 
    at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
    at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90) 
    at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
    at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64) 
    at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
    at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45) 
    at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
    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:368) 
    at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495) 
    at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56) 
    at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
    at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60) 
    at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
    at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 
    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:235) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190) 
    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92) 
    at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126) 
    at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598) 
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) 
    at java.lang.Thread.run(Thread.java:680) 
17:04:24,942 |SEVERE| [lifecycle:104] JSF1054: (Phase ID: PROCESS_VALIDATIONS 3, View ID: /login.xhtml) Exception thrown during phase execution: javax.faces.event.PhaseEvent[[email protected]] |||| 

Deployment Exception : Could not create Component: org.jboss.seam.excel.excelFactory 
**Could not create Component: org.jboss.seam.excel.excelFactory** 

Seam Excelの依存関係を追加すると、PropertyNotFoundExceptionが発生します。

私はmvn dependency:tree ..依存関係ツリーでこれを見て、これを見つけた。..

[INFO] +- org.jboss.seam:jboss-seam-excel:jar:2.2.0.GA:compile 
[INFO] |  \- org.jboss.seam:jboss-seam:ejb:2.2.0.GA:compile 
[INFO] |     +- xstream:xstream:jar:1.1.3:compile 
[INFO] |     +- xpp3:xpp3_min:jar:1.1.3.4.O:compile 
[INFO] |     \- org.jboss.el:jboss-el:jar:1.0_02.CR4:compile 
[INFO] +- net.sourceforge.jexcelapi:jxl:jar:2.6.12:compile` 

エクセルジャーは、JBossシームEJBとJBoss-ELなどが付属しています..私はorg.jboss.elを考えます: jboss-elは私のプロジェクトのものと既に衝突しています。jboss-seam:ejb:2.2.0.GA ..、以下の除外をMavenに入れようとしましたが、どちらかと言えば働きます。

<dependency> 
     <groupId>org.jboss.seam</groupId> 
     <artifactId>jboss-seam-excel</artifactId> 
     <version>2.2.0.GA</version> 
     <exclusions> 
      <exclusion> 
       <groupId>ejb</groupId> 
       <artifactId>ejb</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>javax.el</groupId> 
       <artifactId>el-api</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 

答えて

0

、私は除外していなかったの依存関係適切に、そして他の依存関係と衝突していました。ここで

が正しいバージョンである...

<dependency> 
    <groupId>org.jboss.seam</groupId> 
    <artifactId>jboss-seam-excel</artifactId> 
    <version>2.2.0.GA</version> 
    <exclusions> 
     <exclusion> 
      <groupId>org.jboss.seam</groupId> 
      <artifactId>jboss-seam</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>org.jboss.el</groupId> 
      <artifactId>jboss-el</artifactId> 
      </exclusion> 
    </exclusions> 
</dependency> 

が、これは将来的に他の人がお役に立てば幸いです。私は、この機能は非常によく文書化されておらず、正確に何が必要であるかを知るためにいくつかのフォーラムに行く必要があると言わなければならない。私は輸出のPOIアプローチに取り組むのをやめます:)。

0

あなたはどちらのJBossバージョンを使用していますか?私はドンので、カットし、以下のコードを貼り付け

https://community.jboss.org/thread/184757

:これは、古いバージョンの、だけでなく、便利です https://community.jboss.org/thread/186791

:私は、JBoss 5

チェックこの参照を仮定しています今すぐコードにアクセスできますが、正しくない場合は近くにあります。 あなたはweb.xmlの参照が必要になります

<servlet-name>Document Store Servlet Excel</servlet-name> 
<servlet-class>org.jboss.seam.excel.DocumentStoreServlet</servlet-class> 


<servlet-mapping> 
<servlet-name>Document Store Servlet Excel</servlet-name> 
<url-pattern>*.xls</url-pattern> 
</servlet-mapping> 


<context-param> 
<param-name>webAppRootKey</param-name> 
<param-value>seam-excel</param-value> 
</context-param> 

のjboss-web.xmlの

<jboss-web> 
<class-loading java2ClassLoadingCompliance="false"> 
<loader-repository> 
seam.jboss.org:loader=seam-excel 
<loader-repository-config>java2ParentDelegation=false</loader-repository-config> 
</loader-repository> 
</class-loading> 
</jboss-web> 

をcomponents.xml

私が思ったよう
<components xmlns:excel="http://jboss.com/products/seam/excel" 
xmlns:document="http://jboss.com/products/seam/document" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://jboss.com/products/seam/document http://jboss.com/products/seam/document-2.1.xsd 
http://jboss.com/products/seam/excel http://jboss.com/products/seam/excel-2.1.xsd"> 

<document:document-store use-extensions="true"></document:document-store> 

</components> 
+0

gubuhさん、ありがとうございました、私はすでに早くそれらのリンクからステップを踏んでいました。 web.xml、components.xmlに変更を加え、WEB-INFの下に新しいjboss-web.xml(変更点あり)を作成しましたが、まだ問題はあります。 Seam-2.2.0.GAとJBoss-5.1.0.GAを使用しています。 –

+0

あなたはスタックトレースの詳細を投稿できますか? – gebuh

+0

私は今、別の問題をすべての詳細を追加しました。 –