Estoy usando \ n en mi bean Java y la salida de la variable en la consola se muestra correctamente. Mientras que al buscar este valor de bean a JSF \ n parece no funcionar ....... alguien me puede sugerir cómo puedo hacer \ n trabajar en JSF.cómo hacer n trabajar en <h: inputTextarea>
Respuesta
La manera más simple sería aplicar CSS white-space: pre
en el elemento primario que contiene el texto del cual desea conservar los caracteres de nueva línea \n
. Teniendo en cuenta esta clase de estilo CSS:
.preformatted {
white-space: pre;
}
Se podría aplicar esto como sigue:
<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" />
etc.
Esta propiedad de estilo es, por cierto, también exactamente lo que usa el elemento <textarea>
de forma predeterminada. También puede utilizarlo y hacerlo no editable configurando disabled="true"
o readonly="true"
.
<h:inputTextarea value="#{bean.text}" disabled="true" />
Por supuesto, puede también reemplazar todas las apariciones de \n
por el <br/>
elemento HTML. De esta forma puede mostrarlo en un elemento que no usa white-space: pre
y/o no es un elemento <textarea>
. Una de las formas es usar fn:replace()
.
<h:outputText value="#{fn:replace(bean.text,'\\n','<br/>')}" escape="false" />
Esta es la OMI solamente feo que white-space: pre
.
Reemplace todas las ocurrencias de \n
con </br>
antes de mostrarlo.
Debe reemplazar todo \ n con <br/>
antes de enviar el valor a su <h:inputTextarea>
.
Html utiliza <br/>
para el salto de línea y no el \ n like java.
Además, debe agregar escape="false"
a su <h:outputText
(casi seguro ...).
Al examinar el texto grabado en mi base de datos a través de <h:inputTextarea>
encontré que los caracteres especiales se estaban conservando.
Por lo tanto, después de investigar lo que pensé que era un oscuro arte de la persistencia, me gustó que la pantalla predeterminada del componente JSF era en realidad lo que me decepcionó.
Encuentro que agregar white-space: pre-wrap;
a <p>
en mi hoja de estilos solucionó este problema para mis etiquetas <h:outputText>
que se suministraban con texto de un pojo JPA.
En mi caso, necesitaba pre-wrap
en lugar de pre
porque pre
estaba envolviendo por carácter, en lugar de palabra.
Espero que esto ayude a alguien!
- 1. Cómo hacer un valor de <h: outputText> bold?
- 2. ¿Cuál es el significado de "h" en "<% = h [...]%>"?
- 3. ¿Qué significa <%=h ... %> en Rails?
- 4. ¿Cómo extender pyWavelets para trabajar con datos N-dimensionales?
- 5. ¿Cómo puedo hacer deleteRowsAtIndexPaths: trabajar con GenericTableViewController?
- 6. Cómo utilizar <h: selectBooleanCheckbox> en <h:dataTable> o <ui:repeat> para seleccionar varios elementos?
- 7. asp.net C# membresía: cómo hacer un GetUsersInRoles (múltiples roles) H
- 8. cómo desembalar tupla de longitud n a m <n variables
- 9. Cómo trabajar con threading con ConcurrentQueue <T>
- 10. ¿Qué significa << hacer en Python?
- 11. golang: cómo reemplazar "\ n" con "<br>"
- 12. ¿Cómo reemplazar \ r & \ n con <br/>?
- 13. const boost :: array <T,N> o boost :: array <const T,N>?
- 14. Cómo hacer SQL seleccione subir N ... en AS400
- 15. Selección predeterminada para <f: selectItem> dentro de <h: selectOneMenu>
- 16. Unparse AST <O (exp (n))?
- 17. Aplicar CSS a <f: selectItem> anidado en <h: selectOneMenu>
- 18. Cython: para i de 1 <= i <N
- 19. CanExecute en RelayCommand <T> no trabajar
- 20. VS2008 Error de compilación con <winsock2.h>
- 21. Cálculo h-index
- 22. Reemplazar \ n con <br />
- 23. RegEx - Validación de tiempo ((h) h: mm)
- 24. ¿Cómo hacer que TinyMCE y Jquery validen para trabajar juntos?
- 25. Hacer que Eclipse trate el archivo .h como C++?
- 26. ¿Es log (n!) = Θ (n · log (n))?
- 27. Crear una cuadrícula óptima basada en n elementos, área total y relación H: W
- 28. ¿Cuándo utilizarías desempaquetar ('h *' ...) o paquete ('h *' ...)?
- 29. tener <iframe> trabajar de forma asíncrona
- 30. JSF: h: dataTable vs h: panelGrid