Body onUnload Java Methode aufrufen

Markus138

Mitglied
Hallo,

Ich würde gern beim schließen eines Fenster (mit x) eine Java Methode aufrufen. Das schaffe ich mittels dem Body Tag onunload. Problem dabei ist, dass diese Methode auch aufgerufen wird, wenn ich in dem Formular irgendeinen Button drücke. Gibt es hier eine andere Möglichkeit dies zu realisieren, sodass wirklich nur beim schließen des Fensters mit X diese Methode aufgerufen wird?
 

Noctarius

Top Contributor
Bist du sicher, dass du nicht eine JavaScript Funktion aufrufen willst?

PS: Mit wäre keine Möglichkeit dazu bekannt eine Unterscheidung einzuführen.
 

Markus138

Mitglied
Ich mache das momentan so:

JavaScript Funktion:

HTML:
function loadValues() {
	document.getElementById('editForm:loadValues').click();
}


JSP Code Abschnitt:


HTML:
<body onUnload="loadValues();">
...

<h:commandButton id="loadValues" styleClass="hidden" tabindex="-1"
	action="#{userBean.loadValues}" image="/img/invisible.png" />

so wird mir beim schließen des Fensters (und leider auch beim drücken eines anderen Buttons) die Methode loadValues in der Bean "userBean" aufgerufen
 

Noctarius

Top Contributor
Also irgendwie ist mir dein Code nicht klar, vermutlich liegt es daran dass ich keinen Sinn darin finde beim Schließen eines Fensters Daten zu laden aber ok.

Wie wäre es das Target des Event-Objektes zu überprüfen? Vielleicht kannst du dann Buttons einfach herausfiltern? (Gibt es bei onUnload ein Event-Objekt? Ka)
 

JanHH

Top Contributor
Also erstmal ist das ja ein grandioses Beispiel für eine absolut diffus gestellte Frage. Offenbar handelt es sich um ein JSF-Problem, davon ist in der Frage gar keine Rede.

Ansonsten kommts mir ziemlich unsauber vor, auf diese Art per javascript-Event eine java-Funktion aufzurufen, die eigentlich die action-Methode eines CommandButton ist.

Ich vermute, es geht darum, sicherzustellen, dass wenn ein User die Anwendung nicht ordnungsgemäß beendet, sondern einfach das Browserfenster schliesst, irgendwelche Daten wieder zu resetten. In diesem Fall würde ich aber eher versuchen, das Timeout der HTTP-Session (und damit das Ende des Lebenszyklus von Session Scope-Beans) abzufangen, und die Daten da dann wieder zu resetten.
 

Noctarius

Top Contributor
Wenn es das ist dann würde ich einfach beu onUnload einen HttpXmlRequest abschicken mit dem Befehl reset oder so. Anhand der SessionId kann dann die Session aufgeräumt werden und zwanghaft beenden. Sollte das nicht funktionieren (weil laut Specification Browser nicht gezwungen sind an diesem Punkt noch Daten zu senden) kann man, wie du sagst bei Sessionablauf noch aufräumen.
 

Markus138

Mitglied
keine Ahnung was an meinem ursprünglichen Posting nicht verständlich war. Ich wollte lediglich ein paar Aufräumarbeiten nach dem schließen des Fensters durchführen. Dies habe ich jetzt aber schon auf andere Art und Weise lösen können.

Zum Thema wie ich die Java Methode starte: nunja, wenn ihr Vorschläge habt wie ich das eleganter lösen kann - nur her damit, mir war keine andere Möglichkeit bekannt.
 

Noctarius

Top Contributor
Steht doch direkt im Post darüber und darüber. Und was daran nicht verständlich war? So ziemlich alles, mir war bis vorhin immer noch nicht genau klar was du damit eigentlich erreichen wolltest.
 

JanHH

Top Contributor
Nuja, Du schreibst "schliessen des Fensters". Kein Wort, welches Fenster. Fenster einer Anwendung, Browserfenster?

Weiterlesen, offenbar hats was mit HTML zu tun. Es geht also wohl ums Browserfenster. Hoppla, da dann eine "Java-Funktion" aufrufen? Hat er was falsch verstanden? Meint er Javascript?

Formular... Button.. offenbar gehts um HTML-Formulare, er meint wohl wirklich Javascript, nicht java.

Vier Antworten später: OH! Es handelt sich um eine JSF-Anwendung! Davon war bisher nicht die Rede. Und ja, er will wirklich eine java-Funktion aufrufen.

Ist immer noch unklar, was an Deinem ersten Posting unklar ist?
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
F JSF h:dataTable fix Header und Scroll Body Web Tier 0
M CustomTags mit Body und Parameterübergabe Web Tier 2
LimDul Komplexe Generierung von Java-Klassen aus WSDL Web Tier 1
E Java Servlet doPost request, Mehrere Parameter mit demselben Namen aus Tabellenzeilen Web Tier 2
platofan23 Java Login Überprüfung ohne Srciptlets in der JSP Web Tier 4
Dimax JSP Progress Bar in JSP nur mit Java Web Tier 4
S Einträge aus Datenbank einzeln darstellen (JSP, JAVA, HTML) Web Tier 9
R JavaScript für Java Enterprise Entwickler Web Tier 1
O JSF Java Unsigned Applet PrivilegedActionException Problem Web Tier 2
S JSP Hm... Vorlage für Java Basierende Webseite? Web Tier 0
S Button klick soll Java methode aufrufen Web Tier 2
R Tomcat - java.lang.OutOfMemoryError: PermGen space Web Tier 0
F JSP jSP Datei mit normalem Java Programm auslesen? Web Tier 5
T Spark Java Web Framework Web Tier 0
G Probleme mit Java + Tomcat | Cannot switch on a value of type String for source level below 1.7 Web Tier 8
S java.lang.ExceptionInInitializerError: Wieso??? Web Tier 3
N JSP Free Webhoster Java Backend? PHP? Web Tier 1
D Java EE Servlet login Problem Web Tier 1
L Servlet Java Entschlüsselungsprogramm in Webapplikation einbinden Web Tier 0
Streeber java.lang.NoClassDefFoundError: org/sqlite/NativeDB Web Tier 0
M GWT - Externe Java Libs auf Server Seite - zB. JDBC Web Tier 6
S Java Bean und Java Servlet Web Tier 2
L java.io.NotSerializableException für domain Objekte - Design Problem? Web Tier 12
H MVC in Java pur / Controller als Instanz? / Theorie! Web Tier 4
T Einsteigerfragen zu Servlets/Webprogrammierung mit Java Web Tier 11
J Übergabe von Parameter aus JSP an Java Web Tier 2
nrg Java-Code in Taglib wird nicht richtig ausgeführt. Web Tier 7
D JSF Überprüfen der Session ID in JSF und JAVA Web Tier 9
H JSP, Eclipse, Tomcat - Java Klasse wird nicht gefunden Web Tier 8
B JSF Mojarra 2.1.5: java.lang.IllegalStateException: Cannot create a session after the response has been Web Tier 7
A Parameterübergabe an Servlet und Aufruf von Servlets per Java Code Web Tier 7
J JSF Java Beans Konventionen Web Tier 2
P Blog in Java/JSP Web Tier 5
S Per JavaScript Java ansteuern - Welche Technik? Web Tier 2
T Seam-Komponenten oder Java Bean soll direkt nach Appserver-Start "leben" Web Tier 4
B Thread start bei Java Web Anwendung Web Tier 6
M Suche Java Framework Web Tier 2
B Tomcat 6 ergibt Fehler - java.net.SocketException Web Tier 2
G Probleme mit EclipseLink und Java.util.Date Web Tier 3
ruutaiokwu js kalendar, der mit java.text.SimpleDateFormat kombatibel ist... Web Tier 4
B Java EE 6 Problem (EL) Web Tier 4
F Migration eines CMS von PHP nach JAVA Web Tier 3
R GWT 2.1.1 mit Java 1.6 statt 1.5 Web Tier 8
W JSP - Attribut-Werte aus JAVA-Klasse ? Web Tier 8
T Werte aus java Klasse in jsp nutzen Web Tier 5
N java.lang.NoClassDefFoundError: org/jdom/JDOMException Web Tier 3
M JSP Ausgabe von Java-Objekten Web Tier 7
D JSP, Java Applets einbinden Web Tier 2
LadyMilka java.lang.NumberFormatException: For input string: ... Web Tier 5
H Probleme beim Aufrufen von Java- oder Servlet-Methoden aus Javascript Web Tier 2
K Bilder in Java-Webapplikationen Web Tier 12
S Java Servlet Content Type Web Tier 3
K Analye einer Seite (Java, JSP, ...) Web Tier 12
J rich:modalpanel vom java-code aus öffnen und schliessen Web Tier 2
S Expression Language in Java Web Tier 13
A Ssh connection mit java jsch? Web Tier 2
W Java code aus JSP-File durch JSTL code ersetzen Web Tier 8
F Frage zu Java Beans Web Tier 17
M Java Framework für größere Projekte verwenden Web Tier 5
U access denied bei Datei Schreiben mit Java unter Linux trotz gesetzter Rechte Web Tier 2
P Java-Program -> Web Programm Web Tier 6
F Java Applets in html einbinden Web Tier 10
A SSL-Zertifikat in Java-Webanwendungen laden Web Tier 4
ruutaiokwu Wert hinter JSP-Tag nach Java-String in Skriptlet Web Tier 4
N java bean in eclipse Web Tier 6
S Java Code in JSF Web Tier 10
N Servlet und java.lang.NoClassDefFoundError Web Tier 4
D request.contextPath in Java-Klasse ausführen Web Tier 5
T In einem Struts Tag Werte mit Java einfügen Web Tier 2
G [JAVA / JSP] ArrayList in JSTL foreach verarbeiten Web Tier 4
G CSV-Anbindung an Java Web Tier 2
G Java Server Face Performancelastig? Web Tier 2
H Java Servlet und HTML Form Web Tier 3
U Java Application auf Tomcat Web Tier 5
G Validierung mit Java Server Faces Web Tier 4

Ähnliche Java Themen

Neue Themen


Oben