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.