Hi!
Also ich hab ein einfaches Wörterbuch in JSP geschrieben:
Mein Problem ist, dass mein Programm/die Seite bei einen Klick auf den Search Button mit eingegeben Wort nichtmal in die Anfangs-Ifschleife:
reingeht.
Fehler bekomme ich auch keinen, jetzt weiß ich leider nicht, wie ich das Problem angehen soll.
Mfg
Also ich hab ein einfaches Wörterbuch in JSP geschrieben:
Java:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ page import = "java.io.*"%>
<html><body
<form action=index.jsp method=get>
<h1>Dictitonary</h1>
<b>Eingabe: </b><input name=x size=10>Exakt <input type=submit name ="act" value="search">
<select name="book">
<option value = "Ger-Eng">German-English</option>
<option value = "Rus-Eng">Russian-English</option>
</select><br>
<input type="checkbox" name="art" value="on">
</form>
<%
String act = request.getParameter("act");
out.print(act);
if ( act != null && act.equals("search"))
{
out.print("aaa");
String wort = request.getParameter("x");
String art = request.getParameter("art");
String book = request.getParameter("book");
System.out.println("sadddddddddddddddddddddddd");
String zeile = "";
boolean gefunden = false;
String uebersetzt = "<table cellpadding=3>";
BufferedReader f=null;
int zaehler = 0;
if (book.equals("Ger-Eng"))
f = new BufferedReader(new InputStreamReader(new FileInputStream("C:/ger-eng.txt")));
if (book.equals("Rus-Eng"))
f = new BufferedReader(new InputStreamReader(new FileInputStream(System.getProperty("user.home") + "/rus-eng.txt"), "UTF-8"));
int startindex = 0;
try
{
zeile = f.readLine();
}
catch (IOException ex)
{
ex.printStackTrace();
}
while (wort != null)
{
if (zeile.indexOf(wort, startindex) >= 0)
{
if (art == null)
{
if (zaehler % 2 == 0)
{
uebersetzt += "<tr bgcolor=\"#cccfff\"><td>" + zeile + "</td></tr>";
}
else
{
uebersetzt += "<tr><td>" + zeile + "</td></tr>";
}
gefunden = true;
zaehler++;
}
if (art != null)
{
if (zeile.indexOf(wort, startindex) == 0) //wort ist am anfang der zeile
{
if (Character.isLetter(zeile.charAt(wort.length())) == false) //nach dem Wort ist kein Buchstabe
{
if (zaehler % 2 == 0)
{
uebersetzt += "<tr bgcolor=\"#cccfff\"><td>" + zeile + "</td></tr>";
}
else
{
uebersetzt += "<tr ><td>" + zeile + "</td></tr>";
}
gefunden = true;
zaehler++;
}
}
else
{
if (zeile.length() == zeile.indexOf(wort, startindex) + wort.length() && Character.isLetter(zeile.charAt(zeile.indexOf(wort, startindex) - 1)) == false) //wort ist am Ende der Zeile und vor erstem Buchstaben kein Buchstabe
{
if (zaehler % 2 == 0)
{
uebersetzt += "<tr bgcolor=\"#cccfff\"><td>" + zeile + "</td></tr>";
}
else
{
uebersetzt += "<tr><td>" + zeile + "</td></tr>";
}
gefunden = true;
zaehler++;
}
else if (Character.isLetter(zeile.charAt(zeile.indexOf(wort, startindex) - 1)) == false && Character.isLetter(zeile.charAt(wort.length() + zeile.indexOf(wort, startindex))) == false) //nach und vor dem wort ist kein Buchstabe
{
if (zaehler % 2 == 0)
{
uebersetzt += "<tr bgcolor=\"#cccfff\"><td>" + zeile + "</td></tr>";
}
else
{
uebersetzt += "<tr><td>" + zeile + "</td></tr>";
}
gefunden = true;
zaehler++;
}
}
if (gefunden == false && startindex < zeile.length() - wort.length())
{
System.out.println(zeile);
System.out.println(startindex);
startindex = zeile.indexOf(wort, startindex) + wort.length();
continue;
}
}
}
gefunden =false;
startindex = 0;
zeile = f.readLine();
if (zeile == null || zeile == "" || zeile == "\n" || zeile == " ")
{
break;
}
}
out.println(uebersetzt);
out.println("</table>");
out.println("ergebnisse: "+zaehler);
}
%>
</body></html>
Mein Problem ist, dass mein Programm/die Seite bei einen Klick auf den Search Button mit eingegeben Wort nichtmal in die Anfangs-Ifschleife:
Java:
if ( act != null && act.equals("search"))
Fehler bekomme ich auch keinen, jetzt weiß ich leider nicht, wie ich das Problem angehen soll.
Mfg
Zuletzt bearbeitet: