2009-06-19 12 views
1

Je veux ouvrir un nouveau navigateur et charger une page du système de fichiers (qui sera créée en cliquant sur ce bouton). Mon application est une servlet Java. Fondamentalement, je permets aux utilisateurs de changer du HTML sur leur site Web. En cliquant sur le bouton l'utilisateur obtient pour voir une page d'aperçu, qui montre à quoi ressemble la page avec les modifications apportées.Ouvrir une nouvelle fenêtre de navigateur en cliquant sur un bouton de formulaire

Quelle serait la façon la plus facile de le faire et quels problèmes pouvez-vous voir, et peut-être comment nous pourrions les contourner.

Je vois un problème, par exemple, si la fenêtre du navigateur essaie d'ouvrir le fichier immédiatement, il n'existe même pas. Il doit donc y avoir un certain délai avant d'essayer de lire le fichier.

Répondre

2

Cela peut être fait en utilisant un script java

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

vous pouvez passer des paramètres dans cette fonction.

google pour « javascript fonction window.open »

Cheers

1

Peut-être que vous pouvez utiliser jQuery/AJAX ou une technique similaire à publier les données sur le serveur d'abord, puis l'ouvrir dans une nouvelle fenêtre.

voir la documentation jQuery pour un exemple: jQuery Post Example

0

s'il n'y a pas beaucoup de données à passer pour la page d'aperçu, vous pouvez passer comme url params au lieu d'utiliser jQuery. Si les données sont volumineuses, il est préférable d'utiliser jQuery. :)

comme http://www.xyz.com?name= « name » .....

0

Je ne suis pas familliar avec java servlets, mais ne peut pas vous garder le code HTML téléchargé dans une variable de session côté serveur, afficher le contenu en votre page d'aperçu, puis enregistrez le contenu de la variable dans le système de fichiers une fois que l'utilisateur accepte les modifications?

0

Vous pourriez utiliser JavaScript. Sur le bouton vous ajoutez:

onClick="doMyOpenWindowFuncion();" 

et dans la partie du script de la page que vous écrivez une fonction comme

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'); 
} 

et dans votre Servlet vous attendez le fichier apparaisse avant de le livrer.

Questions connexes