Wille: Daten aus Servlet-generierter Seite auslesen

Beitrag lesen

Hallo Christoph

Nein, das tun sie nicht, weil: "Die Daten werden dazu vom Servlet logischerweise in HTML verpackt". Es ist also ein ganz bestimmter Datensatz ausgelesen und in HTML verpackt worden, mehr nicht.

der angeforderte Datensatz wird auf dem Server vom Servlet in HTML verpackt. Ab hier stehen alle Attribute des Datensatzes in separaten Textfeldern. Schickt das Servlet dieses generierte HTML zurück, stehen die einzelnen Attribute dem Nutzer quasi zum "editieren" zur Verfügung, weil sie ja in einem Textfeld stehen und somit veränderlich sind.

Das klingt viel zu theoretisch. Und da du nicht zum erstenmal schreibst, weißt du auch, daß ich dir _das_ nicht so einfach glauben kann  -  jedenfalls so lange nicht, bis ich deinen Javascript-Code gesehen habe.

»»

Der nicht vom Servlet generierte Code enthält JavaScript, das ganz simpel über "parent.edit.Formularname.betreffendes_Textfeld.value" auf die vom Servlet generierte Seite zugreifen möchte. Hier ist ausnahmsweise mal wenig Spieraum für Fehler.

Zusätzlich verstehe ich nicht, warum du auf einmal noch Javascript nimmst, obwohl du doch bereits mit JSP arbeitest.

Ich habe das Projekt bereits mit Servlet begonnen. Da sich auf meine Fragen niemand konstruktiv geäußert hat, habe ich bisher wenig Grund / Motivation gesehen, auf JSP umzusteigen und mich auch darin noch einzulesen.

Klicke ich allerdings auf "speichern", meldet mir der IE "Zugriff verweigert".

Klar. Javascript kann ja nicht einfach so mal schnell auf den Server zugreifen.

Wieso auf Server zugreifen? Das JS soll doch nur über oben bereits benanntes "parent.edit ..." auf das vom Servlet bereits zum Client zurückgelieferte HTML zugreifen. Die Daten befinden sich doch jetzt gerade beim Nutzer und nicht mehr auf dem Server, oder?

Auch klar. Dein Frameset verlangt eben nicht "document.write", sondern so etwas Ähnliches wie "Framename.write" (Näheres dazu in SELFHTML und im Forumsarchiv). Aber ich würde es an deiner Stelle gar nicht erst mit Javascript machen, sondern bei JSP und JAVA bleiben, das reicht doch.

Das war mir schon klar. Deshalb heißt das Ding auch nicht "document.write()" sondern halt "parent.eines_der_vielen_frames.document.write(). Aber das funktioniert halt ausschließlich bei dem zweiten der beiden vom Servlet geladenen Frames. Was kann ich dagegen tun, außer alle Frames (auch die statischen) vom Servlet laden zu lassen?

Viele Grüße, Wille