Strus 1 + JasperReport

Galera to precisando fazer uns relatorios no sistema aqui da empresa e gostaria de implementar com JasperReports o problema é que eu nao to achando material para JasperReport com Struts 1.

Já vi fiz o layout com o Ireport e gerei o .jasper e o .jrxml … to parado agora na configuração do struts-config.xml

Alguem tem idéia de como posso fazer isso?

Abs

PS: Aqui na empresa a versão do Struts é 1.3.10 e JasperReport 3.7.4

Amigo você simplesmente efetua uma chamada normal com o struts destinado a um determinado metodo de impressao.

Neste metodo, você manda o response enviar o arquivo gerado para donwload ou abrir automaticamente para o usuário e retorna null no metodo.

Entao cara … vamos ver se entendi

A questao é que eu tava vendo a implementação do JasperReports com iReport s Struts2.
Com o iReport eu gero os .jasper e .jrxml (digamos que tenho um simples hello word de teste)… depois eu preciso criar um simples action com retorno null???

blz … ai depois o problema é no struts-config
no Struts 2 seria assim

<action name="doTesteReport" extends="jasperreposts-default">
	<result name="success" type ="jasper">
		<param name="location">Teste.jasper</param>
		<param name="dataSource">Empty dataSource</param>
		<param name="format">PDF</param>
	</result>
</action>

Ai entramos com a divergencia de configuração … no Struts dois eu tenho como dizer qual é a extensao que eu vou usar e indico os parametros do retorno … como posso fazer isso no Struts 1 … outra coisa … e sobre o struts2-jasperreports-pluginXXX.jar … nao to conseguindo achar o mesmo pro Struts 1

valeus

galera … achei um tutorial em ingles que mudou a diretiva

http://p2p.wrox.com/j2ee/26129-how-run-jasper-report-java-file.html

na minha action fiz o seguinte codigo:

JasperDesign design = JasperManager
					.loadXmlDesign("../WebContent/jasper/Teste.jrxml");
			JasperReport report = JasperManager.compileReport(design);

esses metodos estao deprecated … porem nao achei outra forma

ai me deu o seguinte erro


java.lang.ClassNotFoundException: org.codehaus.groovy.control.CompilationFailedException
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1516)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1361)
	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at net.sf.jasperreports.engine.util.JRClassLoader.loadClassForRealName(JRClassLoader.java:157)
	at net.sf.jasperreports.engine.util.JRClassLoader.loadClassForName(JRClassLoader.java:115)
	at net.sf.jasperreports.engine.JasperCompileManager.getCompiler(JasperCompileManager.java:511)
	at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:215)
	at net.sf.jasperreports.engine.JasperManager.compileReport(JasperManager.java:932)
	at br.com.IU.action.TesteAction.execute(TesteAction.java:25)
	at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
	at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
	at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
	at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
	at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)
	at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
	at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
	at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	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:127)
	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:298)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Unknown Source)

Alguem sabe como posso resolver isso???

Abs

o erro diz que está faltando a classe org.codehaus.groovy.control.CompilationFailedException que deve pertencer ao grovy no link abaixo tem um relação de jar que poderá baixar…

http://www.findjar.com/class/org/codehaus/groovy/control/CompilationFailedException.html

com certeza dará outros erros, mas ficará mais fácil identificar o erro.

Fiz o download do groovy-1.6.5.jar e parou de dar o erro.

Galera eu acho que eu nao estou sabendo pegar o relatorio pdf que foi gerado pelo iReport e enviar-lo pra minha pagina.
Alguem tem um exemplo pra passar? Nesse relatorio tem um simples HelloWord. Já configurei no iReport o Whe No Data: All sections