Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Prosledjivanje parametara iz Java aplikacije u Jasper iReport

[es] :: Java :: Prosledjivanje parametara iz Java aplikacije u Jasper iReport

[ Pregleda: 3596 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

bojani983
Beograd

Član broj: 179740
Poruke: 8
91.185.101.*



Profil

icon Prosledjivanje parametara iz Java aplikacije u Jasper iReport26.04.2008. u 22:50 - pre 193 meseci
Pozdrav,

Kako da Jasper iReportu iz java aplikacije prosledim neki parametar (recimo tipa String) i kako to da realizujem u okviru iReport Designera?

Upit bi recimo glasio

SELECT *
FROM tabela
WHERE ime = 'STRING KOJI SE PROSLEDJIJE';

Kako bi ovaj upit izgledao u iReportu i kako da parametar STRING KOJI SE PROSLEDJUJE prosledim iz aplikacije?

Unapred zahvalan, Bojan
 
Odgovor na temu

zigizig

Član broj: 42968
Poruke: 167
*.ptt.yu.



+10 Profil

icon Re: Prosledjivanje parametara iz Java aplikacije u Jasper iReport28.04.2008. u 09:51 - pre 193 meseci
Koliko sad mogu da se setim :)

String-ove sam prosledjivao preko HashMap (inace sam sve prosledjivao iz aplikacije)
HashMap hashMap = new HashMap();
hashMap.put("string1", string1);
...

a onda

File reportFile = new File("resources/simple.jasper");
JasperReport jasperReport = (JasperReport) JRLoader.loadObject(reportFile.getPath());
JasperPrint jasperPrint = JasperFillManager.fillReport( jasperReport, hashMap, dataSource);

Posto ti treba i dataSource kreiras prazan (nadji kako)
Sto se tice jrxml fajla kreiras parametre
<parameter name="string1" isForPrompting="true" class="java.lang.String"/>
<parameter name="string2" isForPrompting="true" class="java.lang.String"/>
...

<textFieldExpression class="java.lang.String"><![CDATA[$P{string1}]]></textFieldExpression>
za prikazivanje

Mozes inace i da napravis listu rezultata pa da od nje kreiras dataSource koji posle sam jasper izlista.
 
Odgovor na temu

aleksandar.dragojlovic
Aleksandar Dragojlović
Kraljevo

Član broj: 142052
Poruke: 100
89.216.113.*



Profil

icon Re: Prosledjivanje parametara iz Java aplikacije u Jasper iReport29.04.2008. u 15:41 - pre 193 meseci
Stranica.jsp

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@page import="work.*"%>
<%@page import="net.sf.jasperreports.engine.export.JRHtmlExporter"%>
<%@page import="net.sf.jasperreports.engine.*"%>
<%@page import="net.sf.jasperreports.engine.export.JRHtmlExporterParameter"%>
<%@page import="net.sf.jasperreports.engine.data.JRBeanCollectionDataSource"%>
<%@page import="java.util.*,java.io.*"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Neki naziv</title>
</head>
<body>
<%
String id=request.getParameterValues("textboxUKojiSamNaPrethodnojStraniciKojaZoveOvuNestoUkucao")[0];
Klasa1 objekat1=work.Proxy.getObjekatIzTabele1(id);
String naziv=objekat.getNaziv();
List objekti2=work.Proxy.getObjektiIzTabele2(id);
HashMap parametri=new HashMap(1);
parametri.put("parpolje",naziv);
PrintWriter printWriter = response.getWriter();
JRBeanCollectionDataSource ds=new JRBeanCollectionDataSource(objekti2);
JasperPrint jp=JasperFillManager.fillReport(Utils.getJasper("Stranica.jasper"),parametar,ds);
JRHtmlExporter htmlExporter = new JRHtmlExporter();
htmlExporter.setParameter(JRExporterParameter.JASPER_PRINT,jp);
htmlExporter.setParameter(JRExporterParameter.OUTPUT_WRITER,printWriter);
htmlExporter.setParameter(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN,false);
htmlExporter.exportReport();
%>
</body>
</html>


U .jasper fajlu (kada ga kreiraš - pre kompajliranja - dakle u .jrxml fajlu ako ne grešim), pored svih polja napraviš i polje "parpolje", to je parametar koji je gore napravljen u parametri.put("parpolje",naziv);. Analogno možeš praviti i za više parametara.

U gornjem primeru ima paket "work" i u njemu klasa Proxy koja ima metode public Klasa1 getObjekatIzTabele1(String id) i public List getObjektiIzTabele2(String id);. Takođe sam lupio da su u pitanju dve povezane klase: Klasa1 i Klasa2.

.jrxml moraš raditi preko binova da bi ovo gore radilo. Jasper Reports može raditi i direktno sa JDBC, ali onda se malo drugačije dodaje parametar.

Trebalo bi da sve ide ovako - ako sam šta pogrešio ne zameri.

Poz
 
Odgovor na temu

bojani983
Beograd

Član broj: 179740
Poruke: 8
91.185.125.*



Profil

icon Re: Prosledjivanje parametara iz Java aplikacije u Jasper iReport29.04.2008. u 23:41 - pre 193 meseci
Uspeo sam, HVALA NA POMOCI!

POZDRAV
 
Odgovor na temu

[es] :: Java :: Prosledjivanje parametara iz Java aplikacije u Jasper iReport

[ Pregleda: 3596 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.