JSP Programm geht einfach nicht in If-Schleife rein

Darky^

Aktives Mitglied
Hi!

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"))
reingeht.

Fehler bekomme ich auch keinen, jetzt weiß ich leider nicht, wie ich das Problem angehen soll.


Mfg
 
Zuletzt bearbeitet:

Darky^

Aktives Mitglied
Ja meinte if-Abfrage :D

Bei Zeile 20 gibt er gleich beim generieren der Seite null aus, wenn ich jedoch ein Wort eingebe und auf Search gehe müsste sich der Wert doch ändern, jedoch passiert das nicht und ich weiß nicht warum :( .
 

Darky^

Aktives Mitglied
Naja er läd einfach die Seite nicht neu.

Aber habs jetzt gerade mit Firefox probiert und da funktionierts, bei Chrome läd es die Seite nicht neu, seltsam..
 

XHelp

Top Contributor
Dann versuch mal mit
Code:
key="value"
und nicht einfach so ohne Anführungszeichen hinschreiben
 

XHelp

Top Contributor
[JAVA=7]
<form action="index.jsp" method="get"> //das hier
<h1>Dictitonary</h1>
<b>Eingabe: </b><input name=x size=10>Exakt <input type="submit" name ="act" value="search">
[/code]
 

Ähnliche Java Themen

Neue Themen


Oben