Як вставити символ, що не порушує пробіл & nbsp; на сторінці JSF?


85

Як вставити нерозривний пробіл на сторінці JSF, як я можу в HTML  ? Чи є такий тег у JSF?


2
Пов’язане (і технічно дублікат із набагато кращим поясненням): Розбір помилок /page.xhtml: Простежена помилка (рядок: 42) На сутність “nbsp” було
вказано

Відповіді:


175

це спрацює

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

5
Чому це <h:outputText>обов’язково?
Олександр

Дійсно, використання номерів HTML, а не інших ярликів html - це шлях.
Dnl

50

Введення номера HTML безпосередньо зробило для мене фокус:

&#160;

О, я просто хочу дати відповідь прямо зараз. Радий, я не наглядав за твоїм.
Олександр

18

Якщо ви використовуєте бібліотеку RichFaces, ви також можете використовувати тег rich: spacer, який додасть "невидиме" зображення із заданою довжиною та висотою. Зазвичай набагато простіше і красивіше, ніж додати тонни nbsp;.

Там, де ви хочете показати свій простір, просто додайте:

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

+1, хоча цього тут точно не запитували, але ваша відповідь була для мене корисною (з повагою до заголовка)
stacker

5
те саме тут, цей тег також існує у PrimeFaces:<p:spacer />
Даніель Салай

9

Ви також можете використовувати прості інтерфейси <p:spacer width="10" height="10" />


6

Зрештою, ви можете спробувати цей, якщо просто використання &nbsp;не вдається ...

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

(як Том, я додав пробіл між &і nbsp;)


Я відчуваю, що втеча настільки важлива, що це може поступитися місцем небезпечним рішенням. Покинути втечу лише для nbsp / інших елементів html складно. Крім того, про "космос" можна забути. Це досить багатослівно, хоча існують і більш короткі альтернативи.
Dnl


4

Я виявив, що синтаксичний аналізатор скаржиться, якщо я використовую &nbsp;сутність на моїй сторінці. Після невеликого дослідження я дізнався, що якщо я додаю декларацію DOCTYPE на початок сторінки, сутність буде дозволена. Я використовую цю декларацію DOCTYPE:

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

Побічним ефектом цього є те, що отриманий код (як це бачимо за допомогою функції "переглянути джерело" веб-браузера) насправді не містить &nbsp;сутності. Натомість він включає фактичні символи, які представляють нерозривний простір. Хоча це працює, це насправді не те, що я хочу. Я все ще шукаю спосіб зробити так, щоб парсер не замінював сутність символом.

Більше інформації тут: http://java.net/jira/browse/JAVASERVERFACES-1576


2

Ви можете використовувати primefacesбібліотеку

 <p:spacer width="10" />


@ihebiheb отримав +6, не кажіть мені, що це неправильно, тому що я знаю, що це правда, просто ви кажете бла-бла ..
Мохамед Аймен Шаррада

Вашу відповідь було позначено як занадто коротку, оскільки в ній відсутні деталі. Я пропоную вам додати деталі, щоб користувачі зрозуміли, чому саме ваше рішення може бути хорошим чи, можливо, найкращим. Додавання деталей, користувачі пристосовують ваше рішення до дещо інших проблем.
Лука Детомі

1

просто додати до опцій: <h:outputText value="&amp;nbsp;" escape="false"/>працював


Я відчуваю, що втеча настільки важлива, що це може поступитися місцем небезпечним рішенням. Покинути втечу лише для nbsp / інших елементів html складно. До того ж, це досить багатослівно, хоча є й більш короткі альтернативи.
Dnl

0

Не потрібно давати 160. 141 також буде працювати. Для поля значення вкажіть value = "& # 141".


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.