Sto usando \ n nel mio java bean e l'output della variabile in console viene visualizzato correttamente. Mentre il recupero di questo valore da bean a JSF \ n sembra non funzionare ....... qualcuno può suggerirmi come posso far funzionare \ n in JSF.come fare n funziona in <h: inputTextarea>
risposta
Il modo più semplice sarebbe applicare CSS white-space: pre
sull'elemento padre contenente il testo di cui si desidera conservare newline \n
caratteri. Tenuto conto di questa classe di stile CSS:
.preformatted {
white-space: pre;
}
si potrebbe applicare in questo modo:
<div class="preformatted">#{bean.text}</div>
o
<h:panelGroup layout="block" styleClass="preformatted">#{bean.text}</h:panelGroup>
o
<h:outputText value="#{bean.text}" styleClass="preformatted" />
ecc
012.Questa proprietà di stile è anche esattamente ciò che l'elemento <textarea>
utilizza per impostazione predefinita. Potresti anche utilizzarlo e renderlo non modificabile impostando disabled="true"
o readonly="true"
.
<h:inputTextarea value="#{bean.text}" disabled="true" />
Ovviamente si può sostituire anche tutte le occorrenze \n
dal <br/>
elemento HTML. In questo modo è possibile visualizzarlo in un elemento che non utilizza white-space: pre
e/o non è un elemento <textarea>
. Uno dei modi è usare fn:replace()
.
<h:outputText value="#{fn:replace(bean.text,'\\n','<br/>')}" escape="false" />
Questo è solo più grave di white-space: pre
.
Sostituire tutte le occorrenze di \n
con </br>
prima di visualizzarlo.
È necessario sostituire tutto \ n con <br/>
prima di inviare il valore al numero <h:inputTextarea>
.
Html utilizza <br/>
per l'interruzione di riga e non il \ n come java.
Inoltre, è necessario aggiungere escape="false"
al numero <h:outputText
(quasi sicuro ...).
Quando ho cercato nel testo registrato nel mio database tramite <h:inputTextarea>
ho scoperto che i caratteri speciali venivano mantenuti.
Così, dopo aver indagato su ciò che pensavo fosse un'arte oscura di persistenza, ho apprezzato il fatto che la visualizzazione predefinita del componente JSF era in effetti ciò che mi stava deludendo.
Ho scoperto che l'aggiunta di white-space: pre-wrap;
a <p>
sul foglio di stile ha risolto questo problema per i tag <h:outputText>
che venivano forniti con testo da un pojo JPA.
Nel mio caso, avevo bisogno di pre-wrap
piuttosto che di pre
perché pre
si stava avvolgendo per carattere, anziché per parola.
Spero che questo aiuti qualcuno!
- 1. cosa fa cout << "\ n" [a == N]; fare?
- 2. Cosa significa << fare in Python?
- 3. Come fare qualcosa n volte al secondo?
- 4. come fare 1 per n dataframe da serie in panda?
- 5. Aggiungi HTML a <h: messages />
- 6. Clic su Python, puoi fare -h come alias
- 7. \ n non funziona in Sklabel SpriteKit
- 8. Come creare un valore di <h: outputText> grassetto?
- 9. Come utilizzare <h: selectBooleanCheckbox> in <h:dataTable> o <ui:repeat> per selezionare più articoli?
- 10. Come funziona l'operatore << sovraccarico?
- 11. cosa fa "<%:" fare?
- 12. Perché in Rails 3, <% = note.html_safe%> e <% = h note.html_safe%> danno lo stesso risultato?
- 13. jQuery nextAll - Fare clic su h-elemento attiva tutti gli elementi P fino al prossimo h
- 14. Come funziona l'operatore di pala (<<) in Ruby Hash?
- 15. (n) pad curses in python non funziona
- 16. Numero di bit di conteggio: come funziona questa linea? n = n &(n-1);
- 17. Perché non funziona .rstrip ('\ n')?
- 18. Che cosa significa l'operatore% fare in Ruby in N 2%?
- 19. Come funziona a.x = a = {n: b} in JavaScript?
- 20. <br>? \ N? un'interruzione di riga in java
- 21. Come funziona il metodo RemoveRange() in un elenco <>?
- 22. n ** n ** n euristica in Python
- 23. Cython: per i da 1 <= i <N
- 24. Quando userete decomprimere ('h *' ...) o pack ('h *' ...)?
- 25. Come fare un po '(x <y) in jinja2
- 26. VS2008 Errore di compilazione con <winsock2.h>
- 27. Calcolo dell'indice h
- 28. fare una matrice 'n' tempo maggiore in MATLAB
- 29. Sostituzione \ n con <br> tag
- 30. golang: come sostituire "\ n" con "<br>"