Blätterfunktion mittels HTML und Java?

Es geht darum, dass ich mittels JAva Server Pages versuche eine Blätterfunktion für Tabellen zu schreiben bzw mir noch ein Teil fehlt. Komme gerade gar nicht weiter.

2-3 kleine Codeauszüge:

int pages;
int start=0;
int start_at=0;

ResultSet result = statement.executeQuery("SELECT…LIMIT „+start_at+“,10; ");

Das sind die relevanten Abschnitte. „pages“ berechnet immer die Anzahl der Seiten die nötig sind für die Tabelle.
10 sollen immer angezeigt werden pro Tabelle.
„start“ ist dazu da, um in der obigen Forschleife die Seiten in HTML zu erzeugen mit HREF.
„start_at“ ist die entscheidende Variable, in der immer steht, ab welchem Datensatz die neue Seite begonnen bzw dargestellt werden soll. Deswegen steht „start_at“ auch oben im SELECT.
Mein Problem ist jetzt:

Was schreibe ich in HREF="" hin bzw wie sage ich ihm, dass er bei jedem Click auf die entsprechende Link die Seite neu laden soll mit dem entsprechenden „start_at“.

Habe versucht die Browserlink in HREF reinzukopieren, aber da wird ja kein „start_at“ übergeben.
Habe auch versucht eine Javafunktion dem onclick auf die Link als Wert zu übergeben…klappt alles nicht.
Für mich das fast Neuland und für den obigen Code habe ich 2 Tage gebraucht.

Hoffe jemand kann mir helfen.
Danke und viele Grüße.

Moin,

Was schreibe ich in HREF="" hin bzw wie sage ich ihm, dass er
bei jedem Click auf die entsprechende Link die Seite neu laden
soll mit dem entsprechenden „start_at“.

Suchst Du die Übergabe von Variablen in einer URL?

href=„seite.xyz?variable1=wert1&variable2=wert2“
(achte auf die Maskierung des Ampersand, damit nicht eine Entity &variable2 interpretiert wird)

Grüße,
-Efchen

fals efchen noch nciht di lösung für dich hatte,

wäre meine frage JAVA applet ??

dann muss du erstmal dem Applet parameter mitgeben.

http://www.math.uni-wuppertal.de/~axel/skripte/oop/o…

erstmal danke für das Antworten.

Hmm ja, soweit wurde ich richtig verstanden…
Ich habe es auch so versucht, aber irgendwie tut sich nichts.
Also ich würde gerne „blabla?start_at“ der link hinzufügen, aber ohne einen bestimmten Wert, denn genau dieser wird ja in der For-Schleife errechnet pro Durchgang, das ist quasi der Wert, ab welchem Datensatz die nächste Tabellenseite angezeigt wird.
Meine Idee war, dass ich jedem HREF, also jedem link genau diesen start_at übergebe, so dass wenn ich drauf klicke, die ganze Seite neu lädt, ABER mit genau diesem Wert, bei link2(Seite2), wären das jetzt in meinem beispiel start_At=20, bei link3(Seite3) wären es start_at=30 usw…
Ich bin stillschweigend davon ausgegangen, dass mein SQL-Selectbefehl, in dem genau dieses start_at steht(LIMIT start_At, 10), bei jedem neuladen, sich den entsprechenden Wert nimmt und somit die richtigen datensätze lädt.
vielleicht ist mein ansatz auch falsch…aber weiß nicht, wie sonst im SELECT-Befehl der richtige Wert eingesetzt wird, so dass er beim Blättern die richtigen Datensätze zieht?

danke und viele grüße,
nadine

Nein nein , kein Java Applet…
Eine Webanwendung mit Java Server Pages

Hallo,
ich bin kein Java-Mensch, aber es ist vielleicht so, dass hier:

an der Stelle …
so etwas stehen müsste wie:

wobei Javaausgabe-der-Linkadresse dann eine schon mal geäußerte Get-Übergabe produzieren sollte, z.B.:
index.html?start=xyz

Ich kenne so etwas von PHP. Bei Java weiß ich nicht. Vielleicht die Frage mal im Java-Bereich stellen?

Gruß
A

JA genau, in dem Bereich href"" habe ich auch eine link stehen:

Aber er erkennt die Variable start_at nicht…

im programm habe ich über dem Select start_at=0; gesetzt, sonst beschwert er sich, dass ich die Variable nicht initialisiere. Wenn ich aber dann quasi auf einen link klicke, gebe ich start_at der URL mit und ich dachte, dass der SELECT Befehl sich dann genau dieses start_at mit dem entsprechenden wert nimmt…tut sich aber gar nichts:frowning:(

Hallo Nadine,
die Frage wäre wirklich besser im Java Forum gestellt wurden.
In JSP, kannst du GET-Parameter mit

request.getParameter("name")

entgegennehmen.
Also in deinem Fall müsstest du es (wenn ich deinen Code korrekt verstanden habe) so verwenden:

...

Alles klar?

Gruß
VoidZer0

Hi.
Danke, das hat mich schon weitergebracht, allerdings zeigt er mir jetzt keine Tabelle an und ich denke ich weiß auch wieso.

Diese For-Schleife steht ziemlich weit unten, direkt unter der Tabelle.
Beim ersten Start des Programms durchläuft er diese ja nicht, sondern versucht der Variablen start_at einen Wert zu geben, es exisitiert allerdings keiner und da diese Variable start_At im SELECT steht, kann er dies im ersten Durchlauf nicht ausführen.
Daher habe ich jetzt noch über dem SELECT eine if-bedingung geschrieben, dass er prüfen soll, ob quasi das request.getParamter() ausgeführt wurde(was ja nicht wird beim ersten ausführen von SELECT), wenn nicht, soll er start_at=0; setzen.
Allerdings stimmt meine if-bedingung nicht ganz…

habe:

int start;
int start_at;
start_at= Integer.parseInt(request.getParameter(„start_at“));

if(WENN ER REQUEST.GETPARAMTER ausführt)
start_at= Integer.parseInt(request.getParameter(„start_at“));
else
start_at=0;

SELECT…LIMIT start_at, 10":wink:;

Da bin ich fast sicher, dass es so gehen müsste…nur was schreib ich in der if-bedingung rein?

danke und viele grüße,
nadine

habe es so versucht:

if(request.getParameter(„start_at“)==null)
start_at=0;
else

start_at= Integer.parseInt(request.getParameter(„start_at“));

Aber er weigert sich immer noch die Tabelle anzuzeigen.

Naja, dass von mir gegebene Beispiel ist minimalistisch
und verzichtet auf wichtige Überprüfungen.
Es funktioniert nur, wenn du es bereits mit einem Wert für start_at aufrufst:
www.deineurl.net/deinjspscript?start_at=0
Ansonsten kannst du leicht überprüfen, ob ein parameter existiert:

int start\_at;
String start\_at\_str = request.getParameter("start\_at");
if (start\_at\_str == null)
 start\_at = 0;
else
 start\_at = Integer.parseInt(start\_at\_str);

Jetzt klar?

Gruß
VoidZer0

Du hast ja den Code der deine Tabelle ausgibt gar nicht hier angegeben.
Also wäre es schwierig dort einen Fehler zu erraten :wink:

PERFEKT, lieben dank!
Diese Abfage war wesentlich, so nimmt er sich start_at=0 nur im ersten durchlauf, danke danke.
damit bin ich jetzt fertig…

mal 1-2 andere Fragen, vielleicht weißt du oder jmd das zufällig.

ich habe versucht(in eclipse) meine 3 dateien inkl. paar lib-dateien in ein anderes eclipse -projekt reinzukopieren(natürlich an die richtigen stellen). sprich die index-datei in den web-inf-ordner, die css datei und die js datei auch in die entsprechenden ordner. Dann versucht ich die indexdatei zu starten mittels Tomcat, jedoch macht er das nicht. Es spielt doch keine Rolle, ob im WEB-inf-ordner noch andere dateien sind, oder? solange ich meine index.jsp lade…

die andere frage ist, ob ich meine sql-connection innerhalb dieser index.jsp datei in eine andere auslagern kann(sprich klassen properties, connection, statement…)

danke und gute nacht^^

-)

PERFEKT, lieben dank!
Diese Abfage war wesentlich, so nimmt er sich start_at=0 nur
im ersten durchlauf, danke danke.
damit bin ich jetzt fertig…

Prima, gern geschehen! :wink:

mal 1-2 andere Fragen, vielleicht weißt du oder jmd das
zufällig.

ich habe versucht(in eclipse) meine 3 dateien inkl. paar
lib-dateien in ein anderes eclipse -projekt
reinzukopieren(natürlich an die richtigen stellen). sprich die
index-datei in den web-inf-ordner, die css datei und die js
datei auch in die entsprechenden ordner. Dann versucht ich die
indexdatei zu starten mittels Tomcat, jedoch macht er das
nicht. Es spielt doch keine Rolle, ob im WEB-inf-ordner noch
andere dateien sind, oder? solange ich meine index.jsp lade…

Also für den web-inf-ordner gelten einige Sonderregelungen,
ich glaube nicht, dass du da einfach so ohne Änderungen
die Konfiguration eines anderen Projekts reinkopieren kannst.
http://www.jsptutorial.org/content/directoryStructur…
Aber um das genau zu wissen hab ich mich bisher zu wenig mit JSP beschäftigt.

die andere frage ist, ob ich meine sql-connection innerhalb
dieser index.jsp datei in eine andere auslagern kann(sprich
klassen properties, connection, statement…)

Na klar kann man Code auslagern!
Einfach in Klassen und Pakete packen und mittels:

einbinden.
http://www.jsptutorial.org/content/syntax#innerLink4

danke und gute nacht^^

Bitte schön und guten Abend :wink:

VoidZer0

JA genau, in dem Bereich href"" habe ich auch eine link
stehen:

Aber er erkennt die Variable start_at nicht…

Hallo nochmal,

das geht so auch nicht, weil du erstens in der URL zwei Fragezeichen übergibst, und zweitens das vermutlich innerhalb der Anführungszeichen stehen müsste. Letzteres nur gemutmaßt, weil ich Java nicht so kenne, aber wie du es hast, sieht es falsch positioniert aus.

Mein Vorschlag wäre, es so zu versuchen:
blabla

(natürlich die Leerzeichen bei „ht tp :confused: /localhost“ entfernen)

Wichtig ist auf jeden Fall, dass du vor start_at ein Kaufleute-Und (&amp:wink: verwendest, nicht ein zweites Fragezeichen.

Gruß
Anja