¿Cómo inserto un carácter de espacio sin interrupciones & nbsp; en una página JSF?


Respuestas:


175

esto funcionará

<h:outputText value="&#160;" />

5
¿Por qué es <h:outputText>obligatorio?
alexander

De hecho, usar los números HTML y no otros atajos html es el camino a seguir.
Dnl

50

Poner el número HTML directamente hizo el truco para mí:

&#160;

Oh, solo quiero dar la respuesta ahora mismo. Me alegro, no he supervisado el tuyo.
Alexander

18

Si está usando la biblioteca RichFaces, también puede usar la etiqueta rich: spacer que agregará una imagen "invisible" con una longitud y altura determinadas. Por lo general, es mucho más fácil y bonito que agregar toneladas de nbsp ;.

Donde desea que se muestre su espacio, simplemente agregue:

<rich:spacer height="1" width="2" />

+1 aunque esto no fue preguntado exactamente aquí, pero su respuesta fue útil para mí (reparó el título)
apilador

5
Lo mismo aquí, esta etiqueta también existe en PrimeFaces:<p:spacer />
Daniel Szalay

9

También puedes usar primefaces <p:spacer width="10" height="10" />


6

Eventualmente, puede probar este, si solo el uso &nbsp;falla ...

<h:outputText value="& nbsp;" escape="false"/>

(como Tom, agregué un espacio entre &y nbsp;)


Siento que escapar es tan importante que esto podría dar lugar a soluciones inseguras. Renunciar a escapar por solo un nbsp / otros elementos html es complicado. Además, el "espacio" podría olvidarse. Esto es bastante detallado, mientras que hay alternativas más breves.
Dnl

4

La forma más sencilla es:

<h:outputText value=" " />

No es la forma más fácil, en mi opinión.
alexander

4

Descubrí que el analizador se quejaría si usaba la &nbsp;entidad en mi página. Después de investigar un poco, supe que si agregué una declaración DOCTYPE al principio de la página, la entidad estaba permitida. Utilizo esta declaración DOCTYPE:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Un efecto secundario de esto es que el código resultante (como se ve al usar la función "ver código fuente" de un navegador web) en realidad no contiene la &nbsp;entidad. En su lugar, incluye los caracteres reales que representan un espacio que no se rompe. Aunque funciona, no es realmente lo que quiero. Todavía estoy buscando una forma de hacer que el analizador no reemplace la entidad con el carácter.

Más información aquí: http://java.net/jira/browse/JAVASERVERFACES-1576


2

Puedes usar la primefacesbiblioteca

 <p:spacer width="10" />

Esto no proporciona una respuesta a la pregunta. Una vez que tenga suficiente reputación , podrá comentar en cualquier publicación ; en su lugar, proporcione respuestas que no requieran aclaración por parte del autor de la pregunta . - De la revisión
Luca Detomi

@ihebiheb se tomó +6, no me digas que está mal, porque sé que es cierto, solo di bla bla ...
Mohamed Aymen Charrada

Tu respuesta se marcó como demasiado corta porque carece de detalles. Le sugiero que agregue detalles para que los usuarios comprendan "por qué" su solución podría ser buena o tal vez la mejor. Agregar detalles permite a los usuarios adaptar su solución a problemas ligeramente diferentes.
Luca Detomi

1

solo para agregar a las opciones: <h:outputText value="&amp;nbsp;" escape="false"/>funcionó


Siento que escapar es tan importante, que esto podría dar paso a soluciones inseguras. Renunciar a escapar por solo un nbsp / otros elementos html es complicado. Además, esto es bastante detallado, mientras que hay alternativas más cortas.
Dnl

0

No es necesario dar 160. 141 también funcionará. Para el campo de valor, proporcione value = "& # 141".


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.