IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

newline avec outputText


Sujet :

JSF Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 91
    Par défaut newline avec outputText
    Bonjour,

    Comment faire pour afficher une string contenant des sauts a la ligne (newline) avec un ouputText (ou quelque chose de ce genre) ?

    OutputText n'affiche pas les \n et la seule solution que je vois pour le moment est de faire une liste de nouveaux bean contenant une seule string et afficher les donnees dans un dataTable...

    Hmm, complique pour des \n

    Quelqu'un aurait-il une idee ? merci !

  2. #2
    Membre éprouvé Avatar de anisj1m
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 067
    Par défaut
    as tu essaie <br/>

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 91
    Par défaut
    Je viens d'essayer mais comme prevu ca ecrit <br /> dans le texte.
    Je rapelle que je l'utilise de cette maniere, le code html n'est pas pris en compte.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:outputText value="#{bean.string}" />

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    salut,

    quand t'as un newline, y a pas de problème, outputText envoie le newline chez le client. Le problème, c'est le client. rappel des bases du html, en html un retour à la ligne est un espace! Sauf si il est dans un context particulier traitant différement les retours à la ligne: <PRE>


    essaie çà:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <pre><h:outputText value="#{bean.string}"/></pre>
    Si le fait d'avoir une police à chasse fixe ne te plait pas, tu peux toujours y ajouter un style à ton pre qui spécifiera la police à utiliser.

    Ou alors, sur les browsers qui le supportent, utilise ce style CSS3 (sans garantie)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <span style="linefeed-treatment:preserve"><h:outputText value="#{bean.string}"/></span>
    Tu peux aussi, comme suggéré plus haut, remplacer dans ton code les \n par des br. Problème, tu dois aussi remplacer tous tes caractère spéciaux par des entités correspondantes Ensuite pour l'output, c'est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:outputText value="#{bean.string}" escape="false"/>

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 91
    Par défaut
    Merci beaucoup, les reponses sont excellentes..
    J'avais en effet trouve l'astuce du escape=false, mais je pensais que ca ne faisait que laisser les backslash, pas rendre possible l'ecriture des balises html.

    Merci en tout cas, resolu.

  6. #6
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Merci pour cette info. Je n'avais jamais prêté attention à l'attribut escape.
    Du coup ceci est affiché correctement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <h:outputText value="#{truc}" escape="false"/>
    Ou encore:
    <h:outputText value="un &lt;br/&ght; deux" escape="false"/>
    avec "#{truc}" valant "un <br/> deux".
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. h:outputText avec texte + variable
    Par doons dans le forum JSF
    Réponses: 6
    Dernier message: 13/04/2015, 14h34
  2. Réponses: 0
    Dernier message: 15/03/2013, 16h47
  3. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10
  4. [Kylix] Runtime error 230 avec INDY
    Par Anonymous dans le forum EDI
    Réponses: 2
    Dernier message: 23/03/2002, 11h51
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo