Textarea=>String : saut de ligne? [Résolu]

hluder 35 Messages postés lundi 23 octobre 2006Date d'inscription 6 juin 2008 Dernière intervention - 6 mai 2008 à 10:30 - Dernière réponse : hluder 35 Messages postés lundi 23 octobre 2006Date d'inscription 6 juin 2008 Dernière intervention
- 7 mai 2008 à 11:00
Bonjour bonjour!

Nouveau jour nouveau problème!
Dans ma belle appli Web j'envoi des mails

MAIS... (ya toujours un mais)
Quand je récupère mon texte du message de la textarea vers une String
puis que je la met dans le mail et que je l'envoi...
> il n'y a pas les saut de ligne et c'est horrible!

Une solution?
J'attend et j'ai confiance!

---------------------------------------------

Nivraë - just her
Afficher la suite 

7 réponses

Répondre au sujet
hluder 35 Messages postés lundi 23 octobre 2006Date d'inscription 6 juin 2008 Dernière intervention - 7 mai 2008 à 11:00
+3
Utile
BOn j'ai vaincu les clob!!!!
            pstmt = RequetesSQL.conn.prepareStatement("insert into action values (0,'"+id+"',today,?)");
            File file = new File("description.dat");
           
            file.createNewFile();
            FileOutputStream fos = new FileOutputStream(file);
            fos.write(desc.getBytes());
           
            int fileLength = (int) file.length();

            set_AsciiStream(1,file,fileLength); // set 1st column with full length
            set_execute();                                    // insert
            pstmt.close();

et puis sa aussi
rivate static void set_AsciiStream(int index, File file, int length)
        {
        FileInputStream fin;
        System.out.println("Entering " + length +
        " bytes of data to clob column \n");
        try
            {
                fin = new FileInputStream(file);
                pstmt.setAsciiStream(index,fin,length);
            }
        catch ( Exception e)
            {
                System.out.println("FAILED to perform setAsciiStream: " +
                e.toString());
            }
        }

        public static void set_execute()
        {
        try
            {
                pstmt.executeUpdate();
            }
        catch (SQLException e)
                {
                System.out.println("FAILED to Insert into tab: " + e.toString());
                }
        }

on sait jamais si àa peut servir a quelqu'un d'autre!

Merciiii rendez vous au prochain problème!

--------------------------------------
Nivraë - just her
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de hluder
indiana_jules 750 Messages postés mardi 9 mars 2004Date d'inscription 23 décembre 2008 Dernière intervention - 6 mai 2008 à 13:20
0
Utile
Bonjour,
Si tu fais un System.out.println de ton String, les sauts de lignes apparaissent-ils ? Si non, peut-être faudrait-il convertir les \n en \n\r. Sinon, Pourrais-tu nous monter ton code d'intialisation de ton JTextArea, de l'opération entre le composant GUI et ton String, et enfin de ton String à ton message de mail. Peut-être qu'un de ces étapes n'est pas défini comme tu le souhaiterais.

Voili voilà

le monde a des idées : la preuve, c'est qu'il y en a de mauvaises
ne comprends pas tout, mais je parle de tout : c'est ce qui compte
Commenter la réponse de indiana_jules
hluder 35 Messages postés lundi 23 octobre 2006Date d'inscription 6 juin 2008 Dernière intervention - 6 mai 2008 à 14:20
0
Utile
Alors quand je fai le System.out.println(message)
j'ai :egazgaedqd

alors que j'avais tapé :
eagz
gae
dqd

Et voilà  ce qu'il me met dans les log de glassfish

_Part_0_511222.1210075754303
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit
egazgaedqd
------=_Part_0_511222.1210075754303

//là ou je fais ma textarea

Message:
<textarea name="message" id="message"rows="10" cols="100"></textarea>

//là ou je recup le paramètre avant de faire le System.out.println(message)
String message=request.getParameter("message");

------------------------------
Nivraë - just her
Commenter la réponse de hluder
hluder 35 Messages postés lundi 23 octobre 2006Date d'inscription 6 juin 2008 Dernière intervention - 6 mai 2008 à 16:43
0
Utile
Merci!!!!

j'ai fait un ajout de ça
 String message=request.getParameter("message").replace("\n", "\n\r");
et ça marche!

Merci pour des indications

-----------------------------------
Nivraë - just her
Commenter la réponse de hluder
hluder 35 Messages postés lundi 23 octobre 2006Date d'inscription 6 juin 2008 Dernière intervention - 6 mai 2008 à 17:04
0
Utile
Et j'ai le même probleme pour mes textarea a destination de ma BD
c'est pareil, je récupère avec une String de la meme manière que pour les mails

Mais après il ne veux pas me mettre les "saut de ligne"
même avec le String message=request.getParameter("message").replace("\n", "\n\r");

Je pense que c'est a cause de la BD (Informix)
faut il remplacer le "\n" par autre chose?

---------------------------------------

Nivraë - just her
Commenter la réponse de hluder
indiana_jules 750 Messages postés mardi 9 mars 2004Date d'inscription 23 décembre 2008 Dernière intervention - 6 mai 2008 à 18:06
0
Utile
Bonsoir,
là il faut faire attention, vérifie directement dans ta base de données la présence de sauts, car \n est les caractére unicode du saut de ligne. Si ta ligne "request.getParameter("message").replace("\n", "\n\r");" ne fait rien, j'ai bien peur que le type de ta colonne filtre le caractére de saut (et donc changer le type, en CLOB par exemple).

Voili voilà

le monde a des idées : la preuve, c'est qu'il y en a de mauvaises
ne comprends pas tout, mais je parle de tout : c'est ce qui compte
Commenter la réponse de indiana_jules
hluder 35 Messages postés lundi 23 octobre 2006Date d'inscription 6 juin 2008 Dernière intervention - 7 mai 2008 à 09:25
0
Utile
en fait si je met un saut de ligne il  ne memorise pas mon texte et ya une erreur qui est générée (l'erreur etant que'il veut pas de saut d eligne)

Je connai pas Clob jvai essayer ce matin
mais si tu pouvais m'en dir eplus

---------------

Nivraë - just her
Commenter la réponse de hluder

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.