Bonjour � tous,
Cela fait maintenant plusieurs jours que je me casse la t�te, sans grand r�sultat...
Je d�veloppe actuellement une appli JEE / Struts 2.
A l'inscription, j'ai une action qui se charge d'envoyer un mail � l'utilisateur, et une JSP qui affiche le r�sultat (mail correctement envoy� ou erreur).
Plutot que de g�n�rer le contenu du mail dynamiquement dans l'action (comme ce qui est fait actuellement), je souhaiterais g�n�rer le contenu du mail en passant par une JSP (puisque celles-ci sont justement con�ues pour la g�n�ration de code).
En gros ce que je voudrais donc faire :
1 - L'utilisateur appel l'action
2 - Je cr�e une response fictive qui appel la JSP pour g�n�rer le mail (r�ponse qui ne sera donc jamais envoy�e au client, mais juste utilis�e pour r�cup�rer le code g�n�r� par la JSP)
3 - J'envois le mail avec le code g�n�r� au destinataire
4 - L'action forward sur la JSP normalement
Quelqu'un aurait-il une id�e de la mani�re dont il faut proc�der ?
J'ai essay� ceci :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13 RequestDispatcher rd = request.getSession().getServletContext().getRequestDispatcher("/jsp/generateMailContent.jsp"); HttpServletRequestWrapper wrapper = new HttpServletRequestWrapper(request); rd.include(wrapper, response); String mailContent = response.toString(); /* Envoit du mail ici OK */ response.reset(); return SUCCESS;
Je r�cup�re bien le r�sultat dans mailContent, mais un message d'erreur appara�t lors du forward de l'action :
Merci d'avances.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5 java.io.IOException: Stream closed org.apache.jasper.runtime.JspWriterImpl.ensureOpen(JspWriterImpl.java:204) org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:115) org.apache.jasper.runtime.JspWriterImpl.flush(JspWriterImpl.java:173) org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:956)
Partager