Mam następujący problem :
Mam stronę szukaj.jsp na której umieszczam przycisk szukania:
<form method="post" action="szukaj.jsp"><input type="text" name="szukaj_text"> <input type="submit" value="wyszukaj" name="szukaj"></form>
oraz kod strony :
<%
if(request.getParametr("szukaj").equals("wyszukaj"))
{
ResultSet rs = null;
String tekst = request.getParameter("szukaj_text");
String slowa[] = tekst.split("\\s");
String zapytanie = "";
int i = 0; // jezeli pierwszy przebieg to bez or na poczatku
for(String slowo:slowa)
{
if(i==0){
zapytanie = " tytul LIKE '%" + slowo + "%' OR tresc LIKE '%" + slowo +"%' ";
}else{
zapytanie += " or tytul LIKE '%" + slowo + "%' OR tresc LIKE '%" + slowo +"%' ";
}
i++;
}
String sql = "select * from tb_ogloszenia WHERE " + zapytanie;
out.print(sql);
try{
narzedzia.BazaMysql bm = new BazaMysql();
try {
rs = bm.executeQuery(sql);
rs.beforeFirst();
while (rs.next())
{
String tytul = rs.getString("tytul");
String tresc = rs.getString("tresc");
}
}
}
}
%>
Kod ten wyrzuca mi wyjątek o braku takiego parametru jak "szukaj" co w sumie wydaje się dosyć logiczne.
Mam co najmniej dwa pomysły rozwiązania tego problemu (tj. - wchodzić na ta stronę zawsze przez przycisk szukaj z inną wartością która nie będzie wchodzić w pętle , lub szukanie zrobić na oddzielnej stronie na którą da się wejść tylko tym przyciskiem).
Lecz mimo iż jestem bardzo początkującym "programistą" , wydaje mi się , że oba sposoby są co najmniej "nieeleganckie".
Czy da się to jakoś "ładnie załatwić" ?