Jak wstawić nierozdzielający znak spacji & nbsp; na stronie JSF?


Odpowiedzi:


175

to zadziała

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

5
Dlaczego jest <h:outputText>wymagane?
aleksander

Rzeczywiście, użycie numerów HTML, a nie innych skrótów html, jest drogą do zrobienia.
Dnl

50

Bezpośrednie podanie numeru HTML załatwiło sprawę:

&#160;

Och, chcę tylko teraz udzielić odpowiedzi. Cieszę się, że nie nadzorowałem twojego.
aleksander

18

Jeśli korzystasz z biblioteki RichFaces, możesz również użyć tagu rich: spacer, który doda „niewidoczny” obraz o określonej długości i wysokości. Zwykle o wiele łatwiejsze i ładniejsze niż dodawanie ton nbsp ;.

Tam, gdzie chcesz, aby Twoja przestrzeń pokazywała, po prostu dodaj:

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

+1, chociaż nie było to do końca zadane tutaj, ale twoja odpowiedź była dla mnie pomocna (jeśli chodzi o tytuł)
stacker

5
to samo tutaj, ten tag istnieje również w PrimeFaces:<p:spacer />
Daniel Szalay,

9

Możesz także użyć primefaces <p:spacer width="10" height="10" />


6

W końcu możesz spróbować tego, jeśli po prostu użycie &nbsp;nie powiedzie się ...

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

(tak jak Tom, dodałem spację między &i nbsp;)


Uważam, że ucieczka jest tak ważna, że ​​może to ustąpić miejsca niezabezpieczonym rozwiązaniom. Rezygnacja ze zmiany znaczenia tylko dla nbsp / innych elementów HTML jest trudna. Poza tym można zapomnieć o „przestrzeni”. Jest to dość rozwlekłe, chociaż istnieją krótsze alternatywy.
Dnl


4

Zauważyłem, że parser narzekałby, gdybym użył &nbsp;podmiotu na mojej stronie. Po krótkich poszukiwaniach dowiedziałem się, że jeśli dodałem deklarację DOCTYPE na początku strony, jednostka była dozwolona. Używam tej deklaracji DOCTYPE:

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

Efektem ubocznym jest to, że wynikowy kod (jak widać przy użyciu funkcji „Wyświetl źródło” przeglądarki internetowej) w rzeczywistości nie zawiera &nbsp;encji. Zamiast tego zawiera rzeczywiste postacie, które reprezentują nierozerwalną przestrzeń. Chociaż to działa, nie jest tym, czego chcę. Nadal szukam sposobu, aby analizator składni nie zastępował jednostki znakiem.

Więcej informacji tutaj: http://java.net/jira/browse/JAVASERVERFACES-1576


2

Możesz skorzystać z primefacesbiblioteki

 <p:spacer width="10" />

To nie daje odpowiedzi na pytanie. Gdy zdobędziesz wystarczającą reputację , będziesz mógł komentować każdy post ; zamiast tego udziel odpowiedzi, które nie wymagają wyjaśnień od pytającego . - Z recenzji
Luca Detomi

@ihebiheb zabrano +6, nie mów mi, że to źle, bo wiem, że to prawda, po prostu mówisz bla bla ..
Mohamed Aymen Charrada

Twoja odpowiedź została oznaczona jako zbyt krótka, ponieważ nie zawiera szczegółów. Sugeruję dodanie szczegółów, aby użytkownicy mogli zrozumieć, „dlaczego” Twoje rozwiązanie może być dobre, a może najlepsze. Dodanie użytkowników detailsletów dostosowuje Twoje rozwiązanie do nieco innych problemów.
Luca Detomi

1

tylko dodać do opcji: <h:outputText value="&amp;nbsp;" escape="false"/>działało


Uważam, że ucieczka jest tak ważna, że ​​może to ustąpić miejsca niezabezpieczonym rozwiązaniom. Rezygnacja ze zmiany znaczenia tylko dla nbsp / innych elementów HTML jest trudna. Poza tym jest to dość rozwlekłe, podczas gdy istnieją krótsze alternatywy.
Dnl

0

Nie trzeba podawać 160. 141 również zadziała. W polu wartości wprowadź wartość = "& # 141".


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.