h:outputText saut de ligne pour les mots longs dans des chaînes
Est-il un moyen de dire h:outputText
de JSF (2.0) pour insérer un saut de ligne (ou encore mieux: Une chaîne personnalisée comme "-") à très long termes à l'intérieur des chaînes?
Mon problème est que ma table de données (PrimeFaces) est trop large quand j'ai un très long mot dans une chaîne de caractères sans les espaces. Il fonctionne lorsque j'ai un long texte "normal" de mots, le mot suivant est imprimé dans la ligne suivante.
Alors que je pouvais utiliser un convertisseur, ce serait encore dire que je suis à regarder pour les longs mots à l'intérieur d'une chaîne, puis les couper à chaque fois que je l'affichage du texte. Ce serait le travail en quelque sorte qu'une petite quantité de données, mais a besoin de beaucoup de puissance de traitement lorsque la base de données devient de plus (et ça viendra).
J'ai aussi pu balayer la chaîne de caractères pour les mots longs avant de l'insérer dans la base de données, ce qui voudrait dire que je n'ai que de processus de la chaîne une fois, mais aussi que je ne suis pas en mesure de reconstruire entièrement la chaîne d'origine si je ne l'avais jamais besoin.
Quelqu'un aurait-il des commentaires sur cette?
Vous en remercie d'avance et meilleures salutations,
Robert
BalusC la solution ne dépend pas de la JSF version en cours d'utilisation. C'est une simple CSS solution. Le styleClass attribut existe dans JSF 1.2 et rend un attribut "class" à la sortie HTML. Si cela ne fonctionne pas c'est un problème dans votre code HTML/CSS. Vous pourriez essayer de mettre une largeur fixe pour le parent de l'élément HTML.
OriginalL'auteur Robert M. | 2010-12-29
Vous devez vous connecter pour publier un commentaire.
Ensemble CSS
word-wrap
propriété de l'élément en question àbreak-word
.avec
Un prerequirement est que l'élément a une largeur fixe.
Oh merci. Vous êtes de droite. Quand je donne une largeur fixe, il fonctionne très bien, mais je veux donner des % largeur. En %de l'âge de la largeur, la parole de l'emballage-c'est bien, mais la durée de lui-même prend toute la largeur(comme si on calcule la durée de la largeur avant l'application word-wrap).
OriginalL'auteur BalusC
Sortie
OriginalL'auteur Jigar Joshi
Ceci peut être accompli en deux étapes
1)Appliquer un style de table-layout:fixe à la panelGrid
E. g:
<h:panelGrid style="table-layout:fixed;">
2) Puis appliquer le style de word-wrap pause-parole de la
<h:outputText />
comme ci-dessous.E. g:
<h:outputText style="word-wrap:break-word;">
Espère que cette aide.
OriginalL'auteur Pramod Kankure
si vous avez de très long mot dans la Chaîne de caractères que vous pouvez utiliser
word-break: break-all;
comme ceci:mais il requis CSS3.
lien: word-break
OriginalL'auteur Silence
vous pouvez utiliser h:inputTextarea plutôt que de h:outputText , n'oubliez pas de définir attribut lecture seule vraie et la suppression de la frontière comme ceci:
OriginalL'auteur Ebrahim