Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/03/2010, 11:13
Avatar de Llave
Llave
 
Fecha de Ingreso: abril-2005
Ubicación: Galicia
Mensajes: 52
Antigüedad: 19 años, 7 meses
Puntos: 1
Pregunta Exportar un rich:datatable a Excel o PDF en JSF usando Maven2

Hola!

Sé que la duda es rebuscada, pero casi no tengo pestañas de tanto intentarlo.
Tengo una pequeña aplicación en JSF que tira con SWF (Spring web flow).

El caso es que quería que los datos de una tabla (rich:datatable) se pudiesen exportar a una hoja excel o un documento pdf.

La aplicación tira bajo Maven2.

Ahora mismo, tengo el botón creado después de la tabla, pero lo pulso y no me hace ni caso.
Teniendo en cuenta que el código que tengo es casi 100% igual que muchas páginas que visité, imagino que el motivo de que el botón no haga nada estará en la configuración del servlet o del pom.xml

Os pongo lo que tengo a groso modo:

El código que quiero hacer funcionar se asemeja mucho a este (utilizo primefaces):

Código:
<h:dataTable  id="tbl" var="car" value="#{bean.cars}">
    <h:column>
        <f:facet name="header">
            <h:outputText value="Model" />
        </facet>
	<h:outputText value="#{car.model}" />
    </h:column>
	 
	   // más columnas.
	 
</h:dataTable>


<h:commandButton  value="Excel">
    <opt:exportActionListener type="xls" target="tbl" fileName="cars"/>
</h:commandButton>
código extraído de: http://cagataycivici.wordpress.com/2...l-pdf-csv-xml/


Cómo no... al inicio del fichero me cuido de tener declarado el
Código:
xmlns:opt="http://primefaces.prime.com.tr/optimus"
y la configuración de mi web.xml en lo relativo a primefaces:

Código:
<!-- PrimeFaces Servlet -->
<servlet>
	<servlet-name>Resource Servlet</servlet-name>
	<servlet-class>org.primefaces.resource.ResourceServlet</servlet-class>
</servlet>
 	
<servlet-mapping>  
	<servlet-name>Resource Servlet</servlet-name>  
     	<url-pattern>/primefaces_resource/*</url-pattern> 
</servlet-mapping>

Los JAR, los declaro en el pom.xml de Maven2
El repositorio está bien, no creo que haya fallo en él. Donde me queda la duda es si en las dependencias me hará falta alguna o si, por el contrario, necesitaría algún servlet más para poder hacer funcionar al condenado botón.

Extracto del pom.xml

Código:
<repository>
	<id>prime-repo</id>
	<name>Prime Technology Maven Repository</name>
	<url>http://repository.prime.com.tr/</url>
	<layout>default</layout>
</repository>
y las dependencias del pom:

Código:
        <dependency>
        	<groupId>org.primefaces</groupId>
                <artifactId>primefaces</artifactId>
                <version>1.0.0.RC-SNAPSHOT</version>
		</dependency>
        <dependency>
                <groupId>org.primefaces</groupId>
                <artifactId>optimus</artifactId>
                <version>0.9.0-SNAPSHOT</version>
        </dependency>
        <dependency>
        	<groupId>org.primefaces</groupId>
        	<artifactId>facestrace</artifactId>
        	<version>1.1.1-SNAPSHOT</version>
        </dependency>
        <dependency>
        	<groupId>org.apache.poi</groupId>
                <artifactId>poi</artifactId>
                <version>3.2-FINAL</version>
        </dependency>
        <dependency>
   		<groupId>com.lowagie</groupId>
   		<artifactId>itext</artifactId>
   		<version>1.4.8</version>
	</dependency>
Añadí el itext pese a que las pruebas son para excel, porque también me interesa poder exportar a PDF.

Bueno. Con todo esto, el Maven2 me compila sin errores y la aplicación funciona con normalidad, pero el botón... me ignora.

¿Alguna idea?