2009-06-19 21 views
1

Ich möchte einen neuen Browser öffnen und eine Seite aus dem Dateisystem laden (die beim Klicken auf diese Schaltfläche erstellt wird). Meine App ist ein Java-Servlet. Grundsätzlich erlaube ich Benutzern, etwas HTML auf ihrer Web site zu ändern. Wenn der Benutzer auf die Schaltfläche klickt, wird eine Vorschau angezeigt, die anzeigt, wie die Seite mit den vorgenommenen Änderungen aussieht.Öffnen eines neuen Browserfensters beim Klicken auf eine Formularschaltfläche

Was wäre der einfachste Weg, dies zu tun und welche Probleme können Sie sehen, und möglicherweise, wie wir uns um sie kümmern würden.

Ich sehe ein Problem, zum Beispiel, wenn das Browserfenster versucht, die Datei sofort zu öffnen, wird es nicht einmal existieren. Es muss also eventuell etwas verzögert werden, bevor Sie versuchen, die Datei zu lesen.

Antwort

2

Dies kann mit Java-Script

window.open ('url', 'name', ....) erfolgen

Sie Parameter in dieser Funktion übergeben können.

Google für „Javascript window.open Funktion“

Prost

1

Vielleicht können Sie jQuery/AJAX oder eine ähnliche Technik verwenden, um die Daten an den Server zuerst zu schreiben und es dann in einem neuen Fenster geöffnet.

finden Sie in der jQuery-Dokumentation für ein Beispiel: jQuery Post Example

0

wenn es nicht viele Daten für die Vorschau-Seite zu übergeben ist, können Sie es passieren können als URL statt mit jQuery params. Wenn Daten groß sind, ist es besser, jQuery zu verwenden. :)

als http://www.xyz.com?name= "name" .....

0

bin ich mit Java-Servlets nicht familliar, kann aber nicht halten Sie die hochgeladene html in einer serverseitigen Sitzungsvariable, zeigen den Inhalt in Ihre Vorschau-Seite, dann speichern Sie den Inhalt der Variablen in das Dateisystem, sobald der Benutzer die Änderungen akzeptiert?

0

Sie könnten JavaScript verwenden. Auf der Schaltfläche hinzufügen Sie:

onClick="doMyOpenWindowFuncion();" 

und im Skript Teil der Seite schreiben Sie eine Funktion wie

function doMyOpenWindowFunction() { 
    // if you want the client to wait, heres the place to do so. 
    // I assume you can make your servlet wait so the next line opens a window to the servlet 
    openWindow('/MyFancyPreviewServlet', 'Preview Window'); 
} 

und in Ihrem Servlet warten Sie nur für die Datei vor der Auslieferung es scheint.

Verwandte Themen