Beibehaltung der eingereichten JSP form-Daten
Ich habe ein web-Formular(JSP), die sendet die Daten zu einer anderen Anwendung, die auf verschiedenen server. Nach dem Absenden des Formulars die Daten, dass die Anwendung Umleitung wieder auf dieselbe JSP-Seite. Nun, ich will speichern, die die Daten eingegeben. Was sind die verschiedenen Ansätze zu behalten, die die eingereichten Daten in web-Formular. Ich würde lieber nicht zum speichern der Daten in die DB oder eine Datei.
PS: würde ich gerne behalten, die übermittelten Formular-Daten bei der Anfrage erneut weitergeleitet zu gleichen JSP-Seite. Deshalb, Benutzer müssen nicht um die Daten erneut einzugeben. Wie können Daten gespeichert werden, die im Session-oder Request-etc.
- Eine Frage: Wenn weder eine Datenbank noch eine Datei beteiligt sind, wie Sie vorschlagen, um "speichern Sie die eingegebenen Daten"?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beste, was Sie tun können, ist zu Unterwerfen, die Ihren eigenen servlet-was wiederum feuert eine weitere Anforderung an die externe Webanwendung im hintergrund mit wenig Hilfe von
java.net.URLConnection
. Endlich post gerade wieder auf der Ergebnis-Seite innerhalb der gleichen Anfrage, so dass Sie nur Zugriff auf request-Parameter, die von EL. Es gibt eine implizite EL-variable${param}
wodurch Sie Zugriff auf die request-Parameter wie einMap
wobei der parameter name ist der Schlüssel.Also mit dem folgenden Formular
und etwa die folgende servlet-Methode
sollten Sie in der Lage sein, um den Zugriff auf die Eingang in
result.jsp
wie folgtEinfach ist das. Keine Notwendigkeit für
jsp:useBean
- und/oder böse scriptlets.In JSP diese Art der Sache ist in der Regel behandelt durch die Verwendung einer javabean zur Speicherung der Formular-Werte und dann mit der jsp:useBean tag. Zum Beispiel erstellen Sie die folgende javabean:
In Ihrem Formular jsp die Sie verwenden würden, die useBean-tag und deine form-Felder, die Werte erhalten Ihre Werte aus der Bohne:
In Ihre jsp form-Daten veröffentlicht (leitet zurück), müssten Sie den folgenden code, drücken Sie die gebuchten Formular Daten in die bean.
Weitere option ist es, nur Sachen die Formulardaten in der session in Ihre Seite speichern:
und verweisen Sie in Ihrer form (null-überprüfung weggelassen):
Wenn verstehe ich das problem richtig (großes "wenn") nutzen, müssen Sie ein FORMULAR mit der Methode POST und eine AKTION, die er direkt an einen remote-server. Wenn der Benutzer klickt auf "Senden" der browser ist nicht mit Ihrem host in dieser Transaktion, die Daten gehen an die "AKTION" - Empfänger. Das würde Ihre Möglichkeiten begrenzt, um die Implementierung einer call-back-Verhältnis mit der remote-Dienst (möglicherweise jenseits Ihrer Kontrolle liegen), die Einrichtung eines lokalen proxy-servlet, um die Daten abzufangen und nach vorne die POST zusammen, um es den beabsichtigten Empfänger (die es der POST stammen aus dem server und nicht der client (das könnte wahrscheinlich zu Problemen führen)), oder nutzen Sie einige AJAX-design-Muster zum senden der Formulardaten an zwei stellen anstatt nur einer, die das FORM-tag diktiert.
Darüber hinaus, dass, würden Sie brauchen, um irgendeine form der lokalen Ausdauer wie eine Datenbank oder eine Datei.
Habe ich überhaupt helfen?