Quote:
Mon problème est que je ne sais pas comment récupèrer le mail généré dans une chaine String pour l'envoyer. je ne peux que l'afficher ou le stocker dans un fichier.
Je ne connais pas FreeMarker. Mais tel que tu présentes ton code, ce n'est pas prévu que tu puisses récupérer directement la chaîne.
Mais il y a un moyen tout simple il me semble, le bon vieux Design Pattern Decorateur :)
Pour info le pattern sera expliqué dans Programmez! 95.
En attendant, le principe est tout simple. Au lieu de passer
Writer out = new OutputStreamWriter(String.out);
à
temp.process(model, out);
tu passes:
MyWriter out = new MyOutputStreamWriter(String.out);
tel que
- class MyOutputStreamWriter extends OutputStreamWriter
- le constructeur reçoit une référence sur une instance de OutputStreamWriter et la conserve quelque part, par exemple dans OutputStreamWriter osw;
-et dans la classe tu redéfinis la (ou les) méthodes read (our read byte[], etc, etc, selon les besoins) tel que:
int read() {
int i = osw.read();
// ici convertir i et l'ajoueter à la chaîne que tu veux avoir
return i; // et passez muscade ;)
}
Suis-je clair ?
Je ne connais pas FreeMarker. Mais tel que tu présentes ton code, ce n'est pas prévu que tu puisses récupérer directement la chaîne.
Mais il y a un moyen tout simple il me semble, le bon vieux Design Pattern Decorateur :)
Pour info le pattern sera expliqué dans Programmez! 95.
En attendant, le principe est tout simple. Au lieu de passer
à
tu passes:
tel que
- class MyOutputStreamWriter extends OutputStreamWriter
- le constructeur reçoit une référence sur une instance de OutputStreamWriter et la conserve quelque part, par exemple dans OutputStreamWriter osw;
-et dans la classe tu redéfinis la (ou les) méthodes read (our read byte[], etc, etc, selon les besoins) tel que:
Suis-je clair ?