Professional Documents
Culture Documents
JSP
String msg = (String)
request.getAttribute("msg");
Sa ovako osmiljenim prenosom atributa JSP se moe dizajnirati da predstavlja VIEW za odreeni tip
objekta ili njegovu kolekciju, stim to nije vano ko e proslediti objekat na ispis, pod pretpostavkom da
zna ime atributa koji se alje.
Svi podeeni atributi se iz servleta alju na eljenu JSP stranu ili Servlet sledeom komandom:
// prosledjivanje svih parametara i kreiranih atributa na index.jsp
request.getRequestDispatcher("index.jsp").forward(request, response);
je sve zadovoljeno pri validaciji forme prosledi atribute na prikaz.jsp (view) stranicu gde e se
podaci ispisivati u formatu: Ja sam IME PREZIME i imam GODINA.
Modifikacije:
Index.jsp dodavanje msg promenljive ispod forme koja se prikazuje ako postoji
ServletValidacija prosleivanje atributa na odgovarajue stranice
// prikaz.jsp
<body>
<%
String ime = (String) request.getAttribute("ime");
String prezime = (String) request.getAttribute("prezime");
String godine = (String) request.getAttribute("godine");
%>
<%
if (ime != null && prezime != null && godine != null) {
%>
Ja sam <%=ime%> <%=prezime%> i imam <%=godine%> godina !!!
<%
} else {
%>
Nema podataka o osobi za ispis !!!
<%
}
%>
</body>
// prikaz.jsp preko servleta
// direktan pristup
// http://localhost:8080/validacija/prikaz.jsp
ZADATAK 2:
Kreirati klasu Auto sa :
parametrima: marka, cena, godite.
Konstuktorima
Get i set metodama
Kreirati stranicu index.jsp sa linkovima na:
Stranicu unos.jsp.
ServletAuto sa parametrom ispis=lista
ServletAuto sa parametrom ispis=jedan i br=3
Kreirati stranicu unos.jsp koja:
Sadri formu za prosleivanje marke, cene i godita na ServletAuto post metodom.
Kupi atribut msg i ispisuje ga ako postoji
Kreirati stranicu auto.jsp za ispis jednog prosleenog auta tako to:
Kupi atribut Auto auto.
Kreira odgovarajuu tabelu i ispisuje podatke auta
Kreirati stranicu listaAuta.jsp za ispis prosleene liste auta tako to:
Kupi atribut ArrayList<Auto>listaAuta.
Kreira odgovarajuu tabelu i ispisuje podatke svih auta
Kreirati servlet ServletAuto koji u metodama :
doPost kupi parametre sa forme, proverava format cene i godita, kreira auto i prosleuje ga na
auto.jsp preko imena atributra auto
doGet kupi parametar ispis, i ako je ispis jednako:
o lista kreira jednu listu auta i prosleuje je na listaAuta.jsp
o jedan kupi parametar br i prosleuje auto iz liste sa pozicije br na auto.jsp.
PROBATI ZA VEBU grupni rad na projektu:
GRUPA 1 : kreira, index.jsp, listaAuta.jsp
GRUPA 2: kreira unos.jsp, Auto.jsp,
GRUPA 3: kreira Auto.java, ServletAuto.java
Kada odgovarajua grupa zavri svoj deo kopira ga na server u odgovarajui zajedniki folder da ga
preuzmu druge dve grupe.
Ako se ispotuju pravila saradnje po kompletiranju projekta sve bi trebalo da radi !!!
REENJE:
public class Auto {
private String marka;
private int cena;
private int godiste;
public Auto(String marka, int cena, int godiste ) {
this.marka = marka;
this.cena = cena;
this.godiste = godiste;
}
public Auto(){}
public
public
public
public
public
public
index.jsp
<a href="unos.jsp"> UNOS </a><br>
<a href="ServletAuto?ispis=lista"> LISTA </a><br>
<a href="ServletAuto?ispis=jedan&br=3"> JEDAN </a>
unos.jsp
<form name="myform" action="ServletAuto" method=post>
<table>
<tr height="25">
<td align="right" width="20%"> MARKA :</td>
<td><input type="text" name="marka"></td>
</tr>
<tr height="25">
<td align="right" width="20%"> CENA :</td>
<td><input type="text" name="cena"></td>
</tr>
<tr height="25">
<td align="right" width="20%"> GODISTE :</td>
<td><input type="text" name="godiste"></td>
</tr>
<tr height="25">
<td align="center" width="20%" colspan="2">
<input type="submit" name="akcija" value="UNOS">
</td>
</tr>
<tr height="25">
<td colspan="2">
<a href="index.jsp"> poetna </a></td>
</tr>
<%
String msg = (String) request.getAttribute("msg");
if (msg != null && msg.length() > 0) {
%>
<tr height="25">
<td colspan="2"><%= msg%></td>
</tr>
<%
}
%>
</table>
</form>
auto.jsp
<%
Auto auto = (rs.Auto)request.getAttribute("auto");
%>
<table width="40%" align="center">
<tr>
<td colspan="3" align="center">PODACI O AUTOMOBILU</td>
</tr>
<tr align="center">
<td>MARKA</td>
<td>CENA</td>
<td>GODISTE</td>
</tr>
<tr align="center">
<td><%= auto.getMarka() %></td>
<td><%= auto.getCena() %></td>
<td><%= auto.getGodiste() %></td>
</tr>
</table>
listaAuta.jsp
<%
ArrayList<Auto> la = (ArrayList<Auto>) request.getAttribute("listaAuta");
%>
<table width="40%" align="center">
<tr>
<td colspan="3" align="center">PODACI O AUTOMOBILIMA</td>
</tr>
<tr align="center">
<td>MARKA</td>
<td>CENA</td>
<td>GODISTE</td>
</tr>
<%
for (Auto pom : la) {
%>
<tr align="center">
<td><%=pom.getMarka()%></td>
<td><%=pom.getCena()%></td>
<td><%=pom.getGodiste()%></td>
</tr>
<%
}
%>
</table>
ServletAuto.jsp
public class ServletAuto extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(
HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
ArrayList<Auto> la = new ArrayList<Auto>();
// simuliramo listu od 5 auta
la.add(new Auto("Skoda", 2000, 1998));
la.add(new Auto("BMW", 5800, 2004));
la.add(new Auto("Toyota", 3500, 2002));
la.add(new Auto("Audi", 4000, 2005));
la.add(new Auto("Kec", 750, 1998));
String ispis = req.getParameter("ispis");
if (ispis != null && ispis.length()>0){
if (ispis.equals("lista")){
// prosledjivanje liste na ispis
req.setAttribute("listaAuta",la);
req.getRequestDispatcher("listaAuta.jsp").forward(req, resp);
}else if (ispis.equals("jedan")){
String br = req.getParameter("br");
if (br != null && br.length()>0){
// prosledjivanje auta na ispis
req.setAttribute("auto",la.get(new Integer(br)));
req.getRequestDispatcher("auto.jsp").forward(req, resp);
}
}
}else {
req.setAttribute("msg","Parametri nisu dobrog formata !!!");
req.getRequestDispatcher("index.jsp").forward(req, resp);
}
}// kraj doGet
protected void doPost(
HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String marka = req.getParameter("marka");
String cenaStr = req.getParameter("cena");
String godisteStr = req.getParameter("godiste");
if (marka != null && marka.length()>0 &&
cenaStr != null && cenaStr.length()>0 &&
godisteStr != null && godisteStr.length()>0){
try {
} catch (Exception e) {
req.setAttribute("msg","Cena, godiste nisu dobrog formata");
req.getRequestDispatcher("unos.jsp").forward(req, resp);
}
}else{
req.setAttribute("msg","morate popuniti sva polja !!!");
req.getRequestDispatcher("unos.jsp").forward(req, resp);
}
}// kraj doPost
MVC:
MODEL
o Auto.java
VIEW
o index.jsp
o unos.jsp
o auto.jsp
o listaAuta.jsp
CONTROLLER
o ServletAuto.java