[JSP]Problème de double soumission d'un formulaire
Bonjour,
J'essaie de générer un fichier de type "image/svg+xml" dans une nouvelle fenêtre. Dans ma jsp, j'ai le code suivant :
Code:
<input type="button" onclick="displayPrint();" value="Afficher"/>
où la fonction javascript displayPrint() est la suivante :
Code:
1 2 3 4 5
|
function displayPrint() {
windowOptions="toolbar=no,location=no,directories=no,status=yes,menubar=no,resizable=yes,copyhistory=no,scrollbars=yes,width=800,height=700";
window.open('display.do?actionType=GENERATE","",windowOptions);
} |
et dans la fonction doPerform de la classe action, j'ai le code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
public ActionForward doPerform(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
...
if (actionType.equalsIgnoreCase("GENERATE")) {
//création du string buffer sb contenant le code xml
byte[] file = sb.toString().getBytes();
response.setContentType("image/svg+xml");
response.setContentLength(sb.length());
java.io.OutputStream out = response.getOutputStream();
out.write(file);
out.flush();
out.close();
return null;
}
...
} |
Tout fonctionne, cad le fichier s'affiche correctement dans une nouvelle fenêtre mais le problème est que tout le code de la classe action est parcouru 2 fois ! Comme si le formulaire (dans la jsp) était soumis 2 fois.
Est-ce que quelqu'un aurait une idée ?
Note : si je remplace le type "image/svg+xml" par "text/html", le fichier s'affiche sous format texte (ce qui n'est pas ce que je veux) mais au moins, le code n'est parcouru qu'une seule fois !
Merci de m'aider à résoudre ce problème bien mystérieux...
Julie
[Modéré par Didier] : ajout de tag dans le titre - Les règles du forum Java