Poslao: 15 Jan 2008 18:57
|
offline
- Pridružio: 14 Feb 2007
- Poruke: 51
|
Kako mogu ispisati kolekciju podataka uzetih iz baze uz pomoc nekog upita u html tabelu na JSP strani ?????
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 16 Jan 2008 10:05
|
offline
- Pridružio: 25 Nov 2004
- Poruke: 2297
- Gde živiš: Kragujevac
|
To zavisi od mnogo čega. Da li koristiš npr. neki framework ili ne, da li bez framework-a koristiš neki servlet za komunikaciju sa bazom, ili samo kao kod popularnih skript jezika hoćeš direktno iz jsp strane da komuniciraš sa bazom.?
Odgovor na pitanje bi mogao da bude preširok. Zato prvo google, pa tek onda konkretno pitanje vezano za neki problemčić.
|
|
|
|
Poslao: 16 Jan 2008 11:13
|
offline
- Pridružio: 14 Feb 2007
- Poruke: 51
|
koristim servlet za komunikaciju sa db i od ce izvrsiti upit i vratiti neke podatke i kako sad da ih "zalijepim" u HTML tabelu na JSP i ne koristim nikakav framework.
googlao sam i nisam nasao tacno sta mi treba,zato sam se obratio na forumu
|
|
|
|
Poslao: 16 Jan 2008 13:49
|
offline
- Pridružio: 25 Nov 2004
- Poruke: 2297
- Gde živiš: Kragujevac
|
Npr., podrazumevaću da si podatke iz baze pročitao i da si ih upisao u npr. neku listu, npr. ArrayList sa nazivom promenljive "podaci".
1) Ako iz servleta pozivaš jsp stranu preko forward (deo istog request ciklusa), onda uradiš npr. sledeće:
request.setAttribute("podaci", podaci);
2) Ako iz servleta imaš redirekciju na jsp stranu, onda uradiš npr. sledeće:
request.getSession().setAttribute("podaci", podaci);
------------------------
U jsp strani uradiš sledeće:
1) Prvi slučaj (gore):
<% ArrayList podaci = request.getAttribute("podaci"); %>
2) Drugi slučaj (gore):
<% ArrayList podaci = session.getAttribute("podaci"); %>
i posle se to prikaže:
<% for (int i=0; i<podaci.size(); i++) { %>
<%= podaci(i) %>
<br>
<% } %>
Trebalo bi da je tako. Ovo sam napisao napamet. Nisam probao.
|
|
|
|
Poslao: 16 Jan 2008 19:10
|
offline
- Pridružio: 14 Feb 2007
- Poruke: 51
|
hajde,pokusacu tako.
samo da kazem da sam podatke iscitao iz baze i stavio u niz,a niz u sesiju.
Znam ih is sesije izcitati na jsp,onako kako si napisao,ali mi nije jasno kako ih tacno rasporediti u tabeli,ali pokusacemo ovako
Dopuna: 16 Jan 2008 19:10
sve sam ispisao,ali mi jos nije jasno kako da da RS stavim u ArrayList i da iz te Liste iscitavam na JSP stranici
|
|
|
|
Poslao: 17 Jan 2008 09:45
|
offline
- Pridružio: 25 Nov 2004
- Poruke: 2297
- Gde živiš: Kragujevac
|
Ja sam u brzini pogrešno napisao.
Iz ArryList čitaš npr.
String podatak;
...
podatak = (String)podaci.get(i);
ako ArrayList sadrži neki drugi tip podataka, onda on mora da se pročita tako da casting odgovara tom podatku. Dao sam ti primer za podatak tipa String.
Na kraj ArrayListe dodaješ ovako:
podaci.add(neki_objekat);
-----------------------------------------------
U tabelu se dodaje npr. ovako:
<table>
<tr>
<% for (int i=0; i<podaci.size(); i++) { %>
<td><%= podaci(i) %></td>
<% } %>
<tr>
</table>
Ovako će sve da bude ispisano u jednom redu tabele. Ali ovo već nije pitanje iz oblasti Jave ili JSP-a, već iz oblasti HTML-a, pa tamo pitaj kako se prave tabele ako ne znaš.
|
|
|
|
Poslao: 17 Jan 2008 12:15
|
offline
- Pridružio: 14 Feb 2007
- Poruke: 51
|
evo kako sam postavio u servletu,ali je problem sto imam i int i String tipova podataka.....
i javlja mi neki problem oko taga,ali nikako da skontam sta je u pitanju,greska je: Enexpected end of file in core tag
ResultSet rs = stmt.executeQuery("SELECT * FROM OBVEZNIK_DOPRINOSA WHERE NAZIV_OBVEZNIKA='"+imeObve+"'");
ArrayList kolekcija = new ArrayList();
while(rs.next()){
kolekcija.add(rs.getInt("SIFRA_DJELATNOSTI")+""+rs.getInt("REG_BROJ")+""+rs.getString("NAZIV_OBVEZNIKA"));
}
HttpSession session = request.getSession();
session.setAttribute("ObvezKolekcSes",kolekcija);
--------------------------------------
ovo je jsp
-------------------------------
<%
List kolekcijaPod = (ArrayList) session.getAttribute("ObvezKolekcSes");
%>
<tr>
<% for(int i=0; i<kolekcijaPod.size(); i++){ %>
<td><%=kolekcijaPod(i)%></td>
<% } %>
</tr>
|
|
|
|
Poslao: 17 Jan 2008 15:58
|
offline
- Pridružio: 25 Nov 2004
- Poruke: 2297
- Gde živiš: Kragujevac
|
Ne može tako! Čitaš li ti ono što ti ja pišem?
Prvo. Nešto mi se ne čini da ti baš dobro razumeš šta su kolekcije. Treba da uradiš ovako:
kolekcija.add(new Integer(rs.getInt("SIFRA_DJELATNOSTI")));
kolekcija.add(new Integer(rs.getInt("REG_BROJ")));
kolekcija.add(rs.getString("NAZIV_OBVEZNIKA"));
Iz kolekcije mora da se pročita onako kako je u nju i stavljeno:
<%= ((Integer)kolekcijaPod.get(i)).intValue() %>
<%= ((Integer)kolekcijaPod.get(i+1)).intValue() %>
<%= kolekcijaPod.get(i+2) %>
što znači, da ćeš u petlji morati da vodiš računa o tome koji tip podataka u kom trenutku čitaš iz kolekcije. Tu će ti od veće koristi biti while petlja, nego for.
E sad, ne znam koju verziju JDK-a koristiš, možda neće biti potrebna sva ova sintaksa, ali sigurno neće ni da smeta.
|
|
|
|
Poslao: 21 Jan 2008 15:20
|
offline
- Pridružio: 14 Feb 2007
- Poruke: 51
|
e sada mi je jasno,malo sam imao konfuziju oko tih kolekcija,jer nisam ranije radio sa njima
izvini,zbog mojih gluposti
Dopuna: 21 Jan 2008 15:20
evo ti kod servleta,uradio sam kako si napisao,sad je kolekcija sve string jer sam uzeo drugu tabelu
kolekcija.add(rs.getString("BROJ_KARTONA"));
kolekcija.add(rs.getString("OPIS_POREMECAJA"));
}
HttpSession session = request.getSession();
session.setAttribute("PoremKolekcSes",kolekcija);
|
|
|
|
Poslao: 21 Jan 2008 21:40
|
offline
- Pridružio: 25 Nov 2004
- Poruke: 2297
- Gde živiš: Kragujevac
|
Stavi na početku strane:
<%@ page import="java.util.*" %>
|
|
|
|