S
system
Guest
Cao svima,
Treba mi mala pomoc oko jave. Kao prvo pocetnik sam u javi ali ne mogu reci da sam pocetnik sa racunarima, tako da sigurno sam dobrooo trazio na ovakav problem, ali mozda ja to sustinski nisam shvatio.
Radim neki test-domaci-probni zadatak za brata.
Problem je sledeci. Iscitao sam bazu na web stranici i napravio da kad se klikne na prvo polje kao padajuci meni odradi sortiranje. E sad ja sam hteo da jedan od dva parametra (ne oba u isto vreme) prosledim servletu i tamo pozovem metodu da odradi filtriranje i da vrati novu filtriranu listu.
Ako kliknem na prvi filter sve je ok. Cim kliknem na drugi filter dobijem praznu listu.
A pored svega toga kad u filteru odaberem rec koja ima nase slovo naravno to ne radi jer u javi dobijem hijeroglife umesto ćčš.
evo servlet koda:
}
}
System.out.println - are here only for fast debug[/CODE]
Iz klase za bazu:
}[/CODE]
isti je takav i za drugi filter.
web code:
[/CODE]
javascript code:
Svaka pomoc je dobrodosla. Hvala puno.
Treba mi mala pomoc oko jave. Kao prvo pocetnik sam u javi ali ne mogu reci da sam pocetnik sa racunarima, tako da sigurno sam dobrooo trazio na ovakav problem, ali mozda ja to sustinski nisam shvatio.
Radim neki test-domaci-probni zadatak za brata.
Problem je sledeci. Iscitao sam bazu na web stranici i napravio da kad se klikne na prvo polje kao padajuci meni odradi sortiranje. E sad ja sam hteo da jedan od dva parametra (ne oba u isto vreme) prosledim servletu i tamo pozovem metodu da odradi filtriranje i da vrati novu filtriranu listu.
Ako kliknem na prvi filter sve je ok. Cim kliknem na drugi filter dobijem praznu listu.
A pored svega toga kad u filteru odaberem rec koja ima nase slovo naravno to ne radi jer u javi dobijem hijeroglife umesto ćčš.
evo servlet koda:
Code:
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String filterDobavljac = request.getParameter(“grupa1”);
String filterKategorija = request.getParameter(“grupa2”);
[CODE]System.out.println("FilterDobavljac:" + "'" + filterDobavljac + "'");
System.out.println("FilterKategorija:" + "'" + filterKategorija + "'");
HttpSession sesija = request.getSession(true);
if (!filterDobavljac.equals("ALL") || !filterDobavljac.equals("")) {
sesija.setAttribute("proizvodi", Baza.FiltriranjeProizvodaGrupa1(filterDobavljac).values());
}
if (!filterKategorija.equals("ALL") || !filterKategorija.equals("")) {
sesija.setAttribute("proizvodi", Baza.FiltriranjeProizvodaGrupa2(filterKategorija).values());
}
System.out.println("FilterDobavljac:" + "'" + filterDobavljac + "'");
System.out.println("FilterKategorija:" + "'" + filterKategorija + "'");
response.sendRedirect("proizvodi.jsp");
}
System.out.println - are here only for fast debug[/CODE]
Iz klase za bazu:
Code:
public static Hashtable<Integer,Proizvod> FiltriranjeProizvodaGrupa1(String filter){
System.out.println(filter);
Hashtable<Integer,Proizvod> proizvodiFiltered = new Hashtable<Integer, Proizvod>();
[CODE]if (!filter.equals("ALL")) {
for (Proizvod p : proizvodi.values()) {
if (p.getGrupa1().getNaziv().equals(filter)) {
proizvodiFiltered.put(p.getId(), p);
}
}return proizvodiFiltered;
}
return proizvodi;
isti je takav i za drugi filter.
web code:
Code:
[CODE] <table class="center style">
<tr>
<th>Bar kod</th>
<th>Sifra</th>
<th>Naziv</th>
<th>kolicina</th>
<th>Dobavljac</th>
<th>Kategorija</th>
<th>Cena</th>
</tr>
<tr>
<td>
<select>
<c:forEach items="${proizvodi}" var="m">
<option style="display:none"></option>
<option value="${m.barkod}">
${m.barkod}
</option>
</c:forEach>
</select>
</td>
<td>
<select>
<c:forEach items="${proizvodi}" var="m">
<option style="display:none"></option>
<option value="${m.sifra}">
${m.sifra}
</option>
</c:forEach>
</select>
</td>
<td>
<select>
<c:forEach items="${proizvodi}" var="m">
<option style="display:none"></option>
<option value="${m.naziv}">
${m.naziv}
</option>
</c:forEach>
</select>
</td>
<td></td>
<td>
<select id="grupa1" name="grupa1" onchange="return setValue();">
<option style="display:none"></option>
<option>ALL</option>
<c:forEach items="${grupa1Filter}" var="g1">
<option value="${g1}">
${g1}
</option>
</c:forEach>
</select>
</td>
<td>
<select id="grupa2" name="grupa2" onchange="return setValue();">
<option style="display:none"></option>
<option>ALL</option>
<c:forEach items="${grupa2Filter}" var="g2">
<option value="${g2}">
${g2}
</option>
</c:forEach>
</select>
</td>
<td></td>
</tr>
<c:forEach items="${proizvodi}" var="p">
<tr>
<td>${p.barkod}</td>
<td>${p.sifra}</td>
<td>${p.naziv}</td>
<td>${p.kolicina}</td>
<td>${p.grupa1.naziv}</td>
<td>${p.grupa2.naziv}</td>
<td>${p.cena}</td>
</tr>
</c:forEach>
</table>
<input type="hidden" name="dropdown" id="dropdown">
<input type="submit" value="Filter" name="btn_dropdown">
</form>
javascript code:
function setValue() { document.getElementById("dropdown").value = document.getElementById("grupa1").value; document.getElementById("dropdown").value = document.getElementById("grupa2").value; document.productForm.submit(); return true; }
Svaka pomoc je dobrodosla. Hvala puno.