Napomena!
JSP stranice zbog ustede na prostoru ubacicemo samo tag "body", jedan primjer zaglavlja i kod nece biti fino formatiran
Iz servleta cemo izbaciti import i dio generickog koda
Zaglavlje JSP stranica...
If you want to translate this code to HTML 5 you need to write Docture type like this <!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" %>
<%@ page isELIgnored="false" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
pageEncoding="ISO-8859-1" %>
<%@ page isELIgnored="false" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
ZADUZENJE CLANA JSP
<body>
<c:if test="${!empty clan}">
<form action="/library/GetSlobodniPrimerciZaNaslov">
<table>
<tr><td>Clanski broj:</td><td>${clan.clanskiBroj}</td></tr>
<tr><td>Ime:</td><td>${clan.ime}</td></tr>
<tr><td>Prezime:</td><td>${clan.prezime}</td></tr>
<tr><td>Kategorija:</td><td>${clan.kategorija.nazivkategorije}</td></tr>
</table>
<br><br><br>
Naslov knjige za zaduzenje: <input name="naslovFind" type="text"> <input type="submit" value="Nadji">
</form>
<c:if test="${!empty primerci}">
<table>
<thead><td>Naslov</td><td>Autor</td><td>Godina izdanja</td><td>Inventarni broj</td><td>Zaduzi</td></thead>
<c:forEach var="primerak" items="${primerci}">
<tr><td>${primerak.knjiga.naslov}</td><td>${primerak.knjiga.autor}</td><td>${primerak.knjiga.godinaIzdanja}</td>
<td>${primerak.invBroj}</td><td><a href="/library/ZaduziClana?invBroj=${primerak.invBroj}">Zaduzi</a></td></tr>
</c:forEach </table> </c:if> </c:if> </body>
RAZDUZI CLANA JSP
<body>
<c:if test="${!empty clan}">
<table>
<tr><td>Clanski broj:</td><td>${clan.clanskiBroj}</td></tr>
<tr><td>Ime:</td><td>${clan.ime}</td></tr>
<tr><td>Prezime:</td><td>${clan.prezime}</td></tr>
<tr><td>Kategorija:</td><td>${clan.kategorija.nazivkategorije}</td></tr>
</table> <br> Nerazduzena zaduzenja <br><br>
<table border=1>
<thead><td>Datum zaduzenja</td><td>Inventarni broj</td><td>Naslov knjige</td></thead>
<c:forEach var="zaduzenje" items="${clan.zaduzenjes}" >
<c:if test="${empty zaduzenje.datumVracanja}">
<tr><td>${zaduzenje.datumZaduzenja}</td><td>${zaduzenje.primerak.invBroj}</td>
<td>${zaduzenje.primerak.knjiga.naslov}</td><td><a href="/library/RazduziClana?idZad=${zaduzenje.id}">Razduzi</a></td></tr>
</c:if> </c:forEach> </table> </c:if> </body>
FIND CLANA JSP
<body>
<form action="/library/ReturnClanForClanskiBroj?action=zaduzi" method="post">
Clanski broj: <input name="clanskiBroj" type="text">
<input type="submit">
</form> </body>
SHOW SVE KNJIGE JSP
<body>
<table border=1>
<thead><td>Naslov</td><td>Autor</td><td>Izdavac</td><td>Godina</td></thead>
<c:forEach var="knjiga" items="${sveKnjige}">
<tr><td>${knjiga.naslov}</td>
<td>${knjiga.autor}</td>
<td>${knjiga.izdavac}</td>
<td>${knjiga.godinaIzdanja}</td></tr>
</c:forEach> </table> </body>
PRINT MESSAGE JSP
<html> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head> <body>
${poruka}
</body> </html>
SHOW ZADUZENJA JSP
<body> <table>
<tr><td>ID Clana</td><td><input value="${clbroj}" name="id2" type="text"></td></tr>
<tr><td>Ime</td><td><input value="${ime}" name="ime" type="text"></td></tr>
<tr><td>Prezime</td><td><input value="${prz}" name="prezime" type="text"></td></tr>
</table> ${poruka} <table>
<tr><td>Inv. Broj</td><td>Naslov</td><td>Autor</td><td>Razduzi</td><tr>
<c:forEach var="zad" items="${zaduzenja}">
<tr><td><div>${zad.primerak.invBroj}</div></td><td><div>${zad.primerak.knjiga.naslov}</div></td><td><div>${zad.primerak.knjiga.autor}</div></td><td><a href="/library/RazduziClana?id=${zad.id}">Link</a></td><tr>
</c:forEach> </table> </body>
SERVLET
GET SVE KNJIGE / GET BOOKS
@WebServlet("/GetSveKnjigeServlet")
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
KnjigaManager kmg = new KnjigaManager();
List<Knjiga> sveKnjige = kmg.listKnjige();
request.setAttribute("sveKnjige", sveKnjige);
RequestDispatcher rd = getServletContext().getRequestDispatcher("/izvestaji/prikaziSveKnjige.jsp");
rd.forward(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
KnjigaManager kmg = new KnjigaManager();
List<Knjiga> sveKnjige = kmg.listKnjige();
request.setAttribute("sveKnjige", sveKnjige);
RequestDispatcher rd = getServletContext().getRequestDispatcher("/izvestaji/prikaziSveKnjige.jsp");
rd.forward(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
RAZDUZI CLANA
@WebServlet("/RazduziClana")
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String idZaduzenja = request.getParameter("idZad");
ZaduzenjeManager zm = new ZaduzenjeManager();
Zaduzenje z = zm.getZaduzenjeForId(Integer.parseInt(idZaduzenja));
boolean ok = zm.razduziZaduzenje(z);
ClanManager cmg = new ClanManager();
Clan clan = cmg.getClanAndZaduzenjesForId(z.getClan().getClanskiBroj());
request.setAttribute("clan", clan);
RequestDispatcher rd = getServletContext().getRequestDispatcher("/zaduzenja/RazduzivanjeClana.jsp");
rd.forward(request, response);
}
SNIMANJE CLANA / SAVE CLAN (USER)
@WebServlet("/SnimanjeClanaServlet")
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String clanskiBroj = request.getParameter("clanskiBroj");
String ime = request.getParameter("ime");
String prezime = request.getParameter("prezime");
String adresa = request.getParameter("adresa");
//datumi
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String datumRodjenjaStr = request.getParameter("datumRodjenja");
String datumUpisaStr = request.getParameter("datumUpisa");
String idKategorije = request.getParameter("kategorija");
KategorijaManager kmg = (KategorijaManager)request.getSession().getAttribute("kategorijaManager");
String poruka;
try {
Date datumRodjenja = sdf.parse(datumRodjenjaStr);
Date datumUpisa = sdf.parse(datumUpisaStr);
ClanManager cmg = new ClanManager();
Kategorija kat = kmg.getKategorijaForId(Integer.parseInt(idKategorije));
boolean ok = cmg.saveClan(Integer.parseInt(clanskiBroj), ime, prezime, adresa, datumRodjenja, datumUpisa, kat);
if(ok)
poruka = "Clan je uspesno sacuvan.";
else
poruka = "Doslo je do greske. Clan nije sacuvan.";
} catch (ParseException e) {
poruka="Clan nije sacuvan. Neispravan format datuma.";
}catch(NumberFormatException ex){
poruka = "Clan nije sacuvan. Neispravan format broja.";
}
request.setAttribute("poruka", poruka);
RequestDispatcher rd = getServletContext().getRequestDispatcher("/unos/unosClana.jsp");
rd.forward(request, response);
}
SNIMANJE KNJIGE / SAVE BOOK IN DATABASE
@WebServlet("/SnimanjeKnjigeServlet")
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String idKnjige = request.getParameter("idKnjige");
String naslov = request.getParameter("naslov");
String autor = request.getParameter("autor");
String izdavac = request.getParameter("izdavac");
String godinaIzdanja = request.getParameter("godinaIzdanja");
KnjigaManager kmg = new KnjigaManager();
Knjiga k = kmg.createAndStoreKnjiga(Integer.parseInt(idKnjige), naslov, autor, godinaIzdanja, izdavac);
String forwardPageURL= "/unos/unosKnjigeJSP.jsp";;
if(k!=null){
request.setAttribute("poruka", "Knjiga je uspesno sacuvana.");
}else{
request.setAttribute("poruka","Doslo je do greske, knjiga nije sacuvana.");
}
RequestDispatcher rd = getServletContext().getRequestDispatcher(forwardPageURL);
rd.forward(request, response);
}
UNOS PRIMJERKA / INSERT NEW COPY OF SINGLE BOOK
@WebServlet("/UnesiPrimjerak")
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String broj = request.getParameter("broj");
int idK = (int) request.getSession().getAttribute("idKnjige");
int br = Integer.parseInt(broj);
KnjigaManager k = new KnjigaManager();
List p = k.addPrimeraks(idK, br);
String poruka = "";
if (p.size() > 0) {
poruka = "Success...";
}
else {
poruka = "Error";
}
request.setAttribute("poruka", poruka);
request.setAttribute("lista", p);
request.setAttribute("brojInv", p.size());
RequestDispatcher rd = getServletContext().getRequestDispatcher("/UnosPodataka/Izvjestaj.jsp");
rd.forward(request, response);
}
NOVI KOD
JavaBEAN - Vraca sve kategorije / GET ALL CATEGORIES
public class SveKategorijeBean {
private List<Kategorija> sveKategorije = null;
public SveKategorijeBean() {
try {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
sveKategorije = session.createQuery("from Kategorija").list();
session.getTransaction().commit();
} catch (Exception e) {
e.printStackTrace();
}
} public List<Kategorija> getSveKategorije() {
return sveKategorije;
} public void setSveKategorije(List<Kategorija> sveKategorije) {
this.sveKategorije = sveKategorije;
}
}
PRIMJER HTML - 5 Komponenta za DATUM ujedno i UNOS CLANA JSP stranica, Poziv SveKateforijeBEAN klasa koju smo napravili da bi njenim pozivom vec iz baze izvadili sve kategorije...
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Unos Clana</title>
</head>
<jsp:useBean id="sveKategorije" class="rs.ac.uns.dmi.is2.managers.SveKategorijeBean" scope="session"></jsp:useBean>
<body>
<form action="../SnimajClana" method="post">
<table>
<tr><td>Ime</td><td><input name="ime" type="text"></td></tr>
<tr><td>Prezime</td><td><input name="prezime" type="text"></td></tr>
<tr><td>Adresa</td><td><input name="adresa" type="text"></td></tr>
<tr><td>Kategorija</td>
<td><select name="Kategorije">
<c:forEach items="${sveKategorije.sveKategorije}" var="kat">
<option value="${kat.idkategorije}">${kat.nazivkategorije} </option>
</c:forEach>
</select></td></tr>
<tr><td>Datum upisa</td><td><input type="date" name="datumUpisa"></input> </td></tr>
<tr><td>Datum rodjenja</td><td><input type="date" name="datumRodjenja"></input> </td></tr>
</table>
<input type="submit" value="Sacuvaj">
</form> ${poruka} </body> </html>
INSERT NEW BOOK JSP
<body>
<form action="../SnimanjeKnjige" method="post">
<table> <tr>
<td>Naslov</td><td><input name="naslov" type="text"></td></tr>
<tr><td>Autor</td><td><input name="autor" type="text"></td></tr>
<tr><td>Izdavac</td><td><input name="izdavac" type="text"></td></tr>
<tr><td>Godina Izdanja</td><td><input name="godinaIzdanja" type="text"></td></tr>
</table> <input type="submit" value="Sacuvaj">
</form> </body>
SERVLET
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String idString = request.getParameter("id");
int id = Integer.parseInt(idString);
ClanManager cr = new ClanManager();
Clan c = cr.getClan(id);
request.setAttribute("clbroj", id);
request.setAttribute("clan", c);
RequestDispatcher rd = getServletContext().getRequestDispatcher("/UnosPodataka/AzurirajClana.jsp");
rd.forward(request, response);
}
Example using SESSION! // EXAMPLE HOW TO USE SESSION
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String idString = request.getParameter("id");
int clBr = Integer.parseInt(idString);
ClanManager cm = new ClanManager();
List<Zaduzenje> lista = cm.getNerazduzenaZaClanskiBroj(clBr);
Clan c = cm.getClan(clBr);
request.getSession().setAttribute("clbroj", clBr);
request.getSession().setAttribute("ime", c.getIme());
request.getSession().setAttribute("prz", c.getPrezime());
request.setAttribute("zaduzenja", lista);
RequestDispatcher rd = getServletContext().getRequestDispatcher("/UnosPodataka/PrikazZaduzenja.jsp");
rd.forward(request, response);
}
UPDATA CLANA // UPDATE USER
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String cl = request.getParameter("id2");
int clanskiBroj = Integer.parseInt(cl);
String Ime = request.getParameter("ime");
String Prezime = request.getParameter("prezime");
String Adresa = request.getParameter("adresa");
String kat = request.getParameter("Kategorije");
int br = Integer.parseInt(kat);
String datumcic = request.getParameter("datumRodjenja");
System.out.println(datumcic);
Date datum1 = null;
try {
datum1 = sdf.parse(datumcic);
} catch (ParseException e) {
e.printStackTrace();
}
ClanManager cc = new ClanManager();
Kategorija kategorija = cc.getKategorija(br);
int rez = cc.updateClan(clanskiBroj, Ime, Prezime, Adresa, kategorija, datum1);
String poruka = "";
if (rez == 0) {
poruka = "Clan nije updejtovan";
}
else {
poruka = "Clan je updejtovan!";
}
request.setAttribute("poruka", poruka);
RequestDispatcher rd = getServletContext().getRequestDispatcher("/UnosPodataka/AzurirajClana.jsp");
rd.forward(request, response);
}
COMBO BOX!!! Profesorica je rekla da moze da dodje nesto da moramo da stavimo npr. da je nesto oznaceno u Combo Box-u i evo jedan primjer JSP stranice koja to radi...
Pitamo da li je to sto nama treba ako jeste postavi ga na selected.
<body>
<form action="/library/AzurirajClana" method="post">
<table>
<tr><td>ID Clana</td><td><input name="id" type="text"></td></tr>
</table>
<input type="submit" value="Uzmi Clana">
</form>
<form action="/library/UpdateClana" method="post">
<table>
<tr><td>ID Clana</td><td><input value="${clbroj}" name="id2" type="text"></td></tr>
<tr><td>Ime</td><td><input value="${clan.ime }" name="ime" type="text"></td></tr>
<tr><td>Prezime</td><td><input value="${clan.prezime }" name="prezime" type="text"></td></tr>
<tr><td>Adresa</td><td><input value="${clan.adresa }" name="adresa" type="text"></td></tr>
<tr><td>Kategorija</td>
<td><select name="Kategorije">
<c:forEach items="${sveKategorije.sveKategorije}" var="kat">
<c:choose>
<c:when test="${clan.kategorija.idkategorije == kat.idkategorije}">
<option selected="selected" value="${kat.idkategorije}">${kat.nazivkategorije} </option>
</c:when>
<c:otherwise>
<option value="${kat.idkategorije}">${kat.nazivkategorije} </option>
</c:otherwise>
</c:choose>
</c:forEach>
</select></td></tr>
<tr><td>Datum upisa</td><td><input value="${clan.datumUpisa}" type="date" name="datumUpisa"></input> </td></tr>
<tr><td>Datum rodjenja</td><td><input value="${clan.datumRodjenja}" type="date" name="datumRodjenja"></input> </td></tr>
</table>
<input type="submit" value="Sacuvajte Clana">
</form>
${poruka}
</body>
Novi DIO
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" isELIgnored="false"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="/library/GetZaduzenje?by=invBroj">
<input type="text" name="invBroj">
<input type="submit" value="Ucitaj">
</form>
<c:if test="${!empty zaduzenja}">
<table border=1>
<thead><td>Datum zaduzenja</td><td>Inventarni broj</td><td>Naslov</td><td>Ime i prezime</td></thead>
<c:forEach var="zad" items="${zaduzenja}">
<tr><td>${zad.datumZaduzenja}</td><td>${zad.primerak.invBroj}</td><td>${zad.primerak.knjiga.naslov}</td>
<td>${zad.clan.ime} ${zad.clan.prezime}</td></tr>
</c:forEach>
</table>
<br><br>
<form action="/library/RazduziZaduzenja">
<input type="text" name="datumRazduzenja" value='<fmt:formatDate pattern="yyyy-MM-dd" value="<%= new java.util.Date() %>"/>'>
<input type="submit" value="Razduzi">
</form>
</c:if>
</body>
</html>
JOS JEDAN
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" isELIgnored="false"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<jsp:useBean id="kategorijaManager" class="rs.ac.uns.dmi.is2.manager.KategorijaManager" scope="session"/>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="/library/ReturnClanForClanskiBroj?action=promenaKategorije" method="post">
Clanski broj: <input name="clanskiBroj" type="text">
<input type="submit" value="Nadji clana">
</form>
Selektovani clanovi: <br><br>
<table border=1>
<thead><td>Ime</td><td>Prezime</td><td>Kategorija</td></thead>
<c:forEach var="clan" items="${clanovi}">
<tr><td>${clan.ime}</td><td>${clan.prezime}</td><td>${clan.kategorija.nazivkategorije}</td></tr>
</c:forEach>
</table>
<br>
Nova kategorija: <br>
<form action="/library/PromenaKategorija">
<select name="kategorija">
<c:forEach var="kat" items="${kategorijaManager.sveKategorije}">
<option value="${kat.idkategorije}" >${kat.nazivkategorije}</option>
</c:forEach>
</select>
<input type="submit" value="Promeni">
</form>
</body>
</html>
JOS JEDAN
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ page isELIgnored="false" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Sve knjige</title>
</head>
<body>
<table border=1>
<thead><td>Naslov</td><td>Autor</td><td>Izdavac</td><td>Godina</td></thead>
<c:forEach var="knjiga" items="${sveKnjige}">
<tr><td>${knjiga.naslov}</td>
<td>${knjiga.autor}</td>
<td>${knjiga.izdavac}</td>
<td>${knjiga.godinaIzdanja}</td></tr>
</c:forEach>
</table>
</body>
</html>
NOVI
<%@ page isELIgnored="false" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<body>
Primerci:<br>
<c:forEach var="primerak" items="${knjiga.primeraks}">
${primerak.invBroj}<br>
</c:forEach>
</body>
</html>
UNOS PRIMJERKA
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ page isELIgnored="false" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Unos primeraka knjige</title>
</head>
<body>
${message}
<table>
<tr><td>Naslov:</td><td>${knjiga.naslov}</td></tr>
<tr><td>Autor:</td><td>${knjiga.autor}</td></tr>
<tr><td>Izdavanje:</td><td>${knjiga.izdavac} (${knjiga.godinaIzdanja})</td></tr>
</table>
<br>
<form action="/library/DodajPrimerakKnjiga" method="post">
Dodaj primerak <br><br>
Inventarni broj <input name="invBroj" type="text">
<input type="submit" value="Dodaj">
</form>
<br><br>
<%@ include file="../izvestaji/prikaziPrimerkeKnjige.jsp" %>
</body>
</html>
NADJI CLANA
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" isELIgnored="false"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="/library/ReturnClanForClanskiBroj?action=${param.action}" method="post">
Clanski broj: <input name="clanskiBroj" type="text">
<input type="submit">
</form>
</body>
</html>
Servlet for Jasper reports!
// This is a list of values that I want to send to servlet
List<Radnik> radnici = RadnikManager.getSviRadnici();
HashMap<String, Object> params = new HashMap<String, Object>();
ServletContext context = this.getServletContext();
String reportsDirectory = context.getRealPath("/") + "/WEB-INF/classes/reports/";
String jasperFile = reportsDirectory+"SviRadnici.jasper";
JasperPrint jasperPrint = null;
try{
if(radnici.size()==0){ // ask is list have nothing inside
JREmptyDataSource dataSource = new JREmptyDataSource();
jasperPrint = JasperFillManager.fillReport(jasperFile,params, dataSource);
}else{ // create a repoert
JRDataSource dataSource = new JRBeanCollectionDataSource(radnici);
jasperPrint = JasperFillManager.fillReport(jasperFile,params, dataSource);
}
ServletOutputStream servletOutputStream = response.getOutputStream();
// this will create pdf report
JRPdfExporter pdfExporter = new JRPdfExporter();
pdfExporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
pdfExporter.setParameter(JRExporterParameter.OUTPUT_STREAM,servletOutputStream);
pdfExporter.exportReport();
response.setContentType("application/pdf");
servletOutputStream.flush();
servletOutputStream.close();
}catch(Exception e){
e.printStackTrace();
}