Come faccio a inserire un carattere spazio unificatore & nbsp; in una pagina JSF?


Risposte:


177

questo funzionerà

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

5
Perché è <h:outputText>obbligatorio?
alexander

In effetti, usare i numeri HTML e non altre scorciatoie html è la strada da percorrere.
Dnl

50

Mettere direttamente il numero HTML ha fatto il trucco per me:

&#160;

Oh, voglio solo dare la risposta adesso. Sono contento di non aver supervisionato il tuo.
alexander

18

Se stai usando la libreria RichFaces puoi anche usare il tag rich: spacer che aggiungerà un'immagine "invisibile" con una data lunghezza e altezza. Di solito è molto più semplice e carino che aggiungere tonnellate di nbsp ;.

Dove vuoi che venga mostrato il tuo spazio, aggiungi semplicemente:

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

+1 anche se non è stato esattamente chiesto qui, ma la tua risposta è stata utile per me (riguardo al titolo)
stacker

5
lo stesso qui, questo tag esiste anche in PrimeFaces:<p:spacer />
Daniel Szalay

9

Puoi anche usare le prime facce <p:spacer width="10" height="10" />


6

Alla fine, puoi provare questo, se solo l'uso &nbsp;fallisce ...

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

(come Tom, ho aggiunto uno spazio tra &e nbsp;)


Sento che la fuga è così importante che questo potrebbe lasciare il posto a soluzioni non sicure. Rinunciare all'escape solo per un nbsp / altri elementi html è complicato. Inoltre, lo "spazio" potrebbe essere dimenticato. Questo è abbastanza dettagliato, mentre ci sono alternative più brevi.
Dnl

4

Il modo più semplice è:

<h:outputText value=" " />

Non è il modo più semplice, secondo me.
alexander

4

Ho scoperto che il parser si sarebbe lamentato se avessi usato l' &nbsp;entità nella mia pagina. Dopo una piccola ricerca, ho appreso che se aggiungevo una dichiarazione DOCTYPE all'inizio della pagina, l'entità era consentita. Uso questa dichiarazione DOCTYPE:

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

Un effetto collaterale di ciò è che il codice risultante (come visto utilizzando la funzione "visualizza sorgente" di un browser web) non contiene effettivamente il &nbsp; entità. Include invece i personaggi reali che rappresentano uno spazio unificatore. Sebbene funzioni, non è proprio quello che voglio. Sto ancora cercando un modo per fare in modo che il parser non sostituisca l'entità con il carattere.

Maggiori informazioni qui: http://java.net/jira/browse/JAVASERVERFACES-1576


2

Puoi usare la primefaceslibreria

 <p:spacer width="10" />

Questo non fornisce una risposta alla domanda. Una volta che avrai una reputazione sufficiente, potrai commentare qualsiasi post ; fornire invece risposte che non richiedono chiarimenti da parte del richiedente . - Dalla recensione
Luca Detomi

@ihebiheb ha preso +6, non dirmi che è sbagliato, perché so che è vero, dici solo blah blah ..
Mohamed Aymen Charrada

La tua risposta è stata contrassegnata come troppo breve perché priva di dettagli. Ti suggerisco di aggiungere dettagli per far capire agli utenti "perché" la tua soluzione potrebbe essere buona o forse la migliore. L'aggiunta di dettagli consente agli utenti di adattare la soluzione a problemi leggermente diversi.
Luca Detomi

1

solo per aggiungere alle opzioni: ha <h:outputText value="&amp;nbsp;" escape="false"/>funzionato


Sento che la fuga è così importante che questo potrebbe lasciare il posto a soluzioni non sicure. Rinunciare all'escape solo per un nbsp / altri elementi html è complicato. Inoltre, questo è piuttosto prolisso, mentre ci sono alternative più brevi.
Dnl

0

Non è necessario dare 160. 141 funzionerà anche. Per il campo valore, fornire value = "& # 141".


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.