Ispis podataka iz DB u HTML tabelu na JSP stranu

1

Ispis podataka iz DB u HTML tabelu na JSP stranu

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.
offline
  • real 
  • Elitni građanin
  • 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ć.



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

offline
  • real 
  • Elitni građanin
  • 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.

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

offline
  • real 
  • Elitni građanin
  • 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š.

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>        

offline
  • real 
  • Elitni građanin
  • 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.

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 Embarassed

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);            

offline
  • real 
  • Elitni građanin
  • Pridružio: 25 Nov 2004
  • Poruke: 2297
  • Gde živiš: Kragujevac

Stavi na početku strane:

<%@ page import="java.util.*" %>

Ko je trenutno na forumu
 

Ukupno su 755 korisnika na forumu :: 6 registrovanih, 0 sakrivenih i 749 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: cemix, DPera, LUDI, nemkea71, procesor, wolverined4