Zeichenketten vergleichen

Hi,

ich such eine Methode, mit der man Zeichenketten (Strings) vergleichen kann.

equals kenn ich, aber ist nicht dass, was ich brauche, da die Zeichenketten URL entprechen, und eine Methode whereIs(seite) überprüfen soll, in welchem Fenster sich die URL befindet.

Nun arbeite ich aber mit mehreren Parametern und sobald ich einen Parameter anhänge, entspricht die übergebene URL nicht mehr der aktuellen URL und ich kann nicht mehr feststellen, wo die aktuelle URL ist.

Beispiel:

ich habe eine URL startseite.jsp, die sich im Fenster 3 (Variable Win[3] ) befindet.
Mit whereIs(„startseite.jsp“) wird startseite.jsp mit allen win[i] verglichen und i zurückgegeben.

Sobald aber in den Variablen win[i] ein Prameter an die URL angehängt wurde, um sie an die jeweilige Seite zu übergeben, kann ich nicht mehr feststellen, wo seite ist, da seite nicht gleich seite+parameter ist.

„startseite.jsp“ != „startseite.jsp?name=bla“

was wäre eine Methode, mit der obige Gleichung gleich wäre ??

/\*
 \* pfadverwaltung.java
 \*
 \* 
 \*/

package Kundenstammblatt;


import java.util.\*;

public class pfadverwaltung 
{
 public int fensteranz;
 String start[] = null; /\*\* Start URLs \*/
 String wins[] = null; /\*\* aktuelle URLs \*/
 int i; /\*\* Zählvariable \*/
 public int fenster; /\*\* in welchem Fenster \*/
 


 /\*\* Creates a new instance of pfadverwaltung \*/
 public pfadverwaltung() 
 {
 fensteranz = 5;

 // Initialize Windows

 wins = new String[fensteranz];
 start = new String[fensteranz];

 start[0] = "main.jsp";
 start[1] = "statistik.jsp";
 start[2] = "vertrieb.jsp";
 start[3] = "kredit.jsp";
 start[4] = "reklamation.jsp";

 for (i=0; i

hier die index.jsp


    
    
    
    
    
     Kundenstammblatt 


Das Problem ist, sobald ich über ein anderes Fenster( such\_den\_kunden.jsp) Suchparameter an index.jsp übergebe, und diese wieder an die Seite zurücktransferiere (such\_den\_kunden.jsp?name=bla) funktioniert das Tauschen nicht mehr. 

Hi,
„startseite.jsp“ != „startseite.jsp?name=bla“
was wäre eine Methode, mit der obige Gleichung gleich wäre ??

Eine Variante:

if ((seiteMitParam.indexOf(seiteOhneParam)) != -1) {
 // seiten sind gleich
}

Gruss, Patrick

Danke

Auch hallo.

Das hier könnte (aber ohne jsp Hintergrund) auch eine Inspiration liefern: http://www.java-forum.org/de/viewtopic.php?t=1528

mfg M.L.

Sieh dir die URL Klasse an. Diese bietet Methoden zum zerlegen der URl(Host, query, file, …). Damit kannst dann ganz leicht vergleichen.

Hi,

das ist auch eine gute Idee, aber wo finde ich die Klasse ?

Danke

Hab schon gefunden.

–> java.net.*

Hallo Lianna.

ich such eine Methode, mit der man Zeichenketten (Strings)
vergleichen kann.
„startseite.jsp“ != „startseite.jsp?name=bla“

was wäre eine Methode, mit der obige Gleichung gleich wäre ??

Das würde ich mit einem regulären Ausdruck und der
String-Methode matches erledigen:

String sGesuchteSeite = "startseite.jsp";
String sAktuelleSeite = "startseite.jsp?name=bla";
if (sAktuelleSeite.matches("^" + sGesuchteSeite + ".\*$")) {
 System.out.println("Aktuelle Seite '" + sAktuelleSeite + "' entspricht der gesuchten Seite '" + sGesuchteSeite + "'");
} else {
 System.out.println("Aktuelle Seite '" + sAktuelleSeite + "' entspricht NICHT der gesuchten Seite '" + sGesuchteSeite + "'");
}

Siehe auch

Gruß,
-Andreas.