cs_Evarist
Messages postés4Date d'inscriptionmardi 17 décembre 2002StatutMembreDernière intervention26 février 2009
-
25 févr. 2009 à 16:25
cs_AlexN
Messages postés694Date d'inscriptionlundi 5 décembre 2005StatutMembreDernière intervention 8 janvier 2014
-
26 févr. 2009 à 21:35
Bonjour,
Je sauvegarde des news dans un fichier xml.
J'utilise une jsp displayNews.jsp pour les affichées.
Pour ajouter une news une jsp qui affiche le formulaire : addNew.jsp
Pour l'enregistrement dans le fichier xml une autre jsp writeNew.jsp. Ci dessous le code d'enregistrement du fichier xml :
// Création de la source DOM
Source source = new DOMSource(doc);
// Création du fichier de sortie
File fic = new File(xmlPath + "/communication.xml");
//Result resultat = new StreamResult(xmlPath + "/communication.xml");
Result resultat = new StreamResult(fic);
Ce code fonctionne sauf que l'enregistrement dans le fichier se fait aprés la redirection pour l'affichage et donc la new ajoutée n'apprait pas dans la liste.
Je ne trouve pas de moyen de forcer l'écriture du fichier avant la lecture de l'autre jsp.
Si quelqu'un à une idée ou une autre piste je suis preneur.
cs_AlexN
Messages postés694Date d'inscriptionlundi 5 décembre 2005StatutMembreDernière intervention 8 janvier 201419 25 févr. 2009 à 18:34
Le resultat est un flux (StreamResult). Il n'est probablement pas fermé avant ta redirection, ou du moins pas dans l'ordre que tu espérais.
Peut être qu'avec un resultat.getWriter().close() avant le
response.sendRedirect(displayNews.jsp
); ça marchera mieux.
cs_AlexN
Messages postés694Date d'inscriptionlundi 5 décembre 2005StatutMembreDernière intervention 8 janvier 201419 26 févr. 2009 à 21:35
sinon écris le xml en base et récupère le dans la jsp suivante et fais ta transformation à ce moment
ou transmet l'url du xml dans ta redirection, comme ça si la seconde jsp reçoit un argument, elle sait qu'elle doit lire ce xml et le transformer