Làm cách nào để chèn ký tự khoảng trắng không ngắt & nbsp; trong một trang JSF?


85

Làm cách nào để chèn một ký tự khoảng trắng không ngắt vào trang JSF như cách tôi có thể sử dụng trong HTML  ? Có thẻ như vậy trong JSF không?


2
Có liên quan (và về mặt kỹ thuật là một bản sao với cách giải thích tốt hơn nhiều): Lỗi Phân tích cú pháp /page.xhtml: Lỗi được Truy tìm (dòng: 42) Thực thể “nbsp” đã được tham chiếu, nhưng không được khai báo
BalusC

Câu trả lời:


175

cái này sẽ hoạt động

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

5
Tại sao lại là một <h:outputText>yêu cầu?
alexander

Thật vậy, sử dụng các số HTML chứ không phải các phím tắt html khác là cách để đi.
Dnl

50

Đặt trực tiếp số HTML đã giúp tôi đánh lừa:

&#160;

Ồ, tôi chỉ muốn đưa ra câu trả lời ngay bây giờ. Rất vui, tôi đã không giám sát của bạn.
alexander

18

Nếu bạn sử dụng thư viện RichFaces, bạn cũng có thể sử dụng thẻ rich: spacer, thẻ này sẽ thêm hình ảnh "ẩn" với chiều dài và chiều cao nhất định. Thường dễ hơn và đẹp hơn nhiều so với việc thêm hàng tấn nbsp ;.

Nơi bạn muốn không gian của mình hiển thị, bạn chỉ cần thêm:

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

+1 điều này không chính xác được hỏi ở đây, nhưng câu trả lời của bạn rất hữu ích đối với tôi (lấy lại tiêu đề)
stacker

5
tương tự ở đây, thẻ này cũng tồn tại trong PrimeFaces:<p:spacer />
Daniel Szalay

9

Bạn cũng có thể sử dụng các giao diện chính <p:spacer width="10" height="10" />


6

Cuối cùng, bạn có thể thử cái này, nếu chỉ sử dụng &nbsp;không thành công ...

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

(giống như Tom, tôi đã thêm một khoảng trắng giữa &nbsp;)


Tôi cảm thấy việc trốn thoát có tầm quan trọng như vậy, điều này có thể nhường chỗ cho các giải pháp không an toàn. Việc từ bỏ thoát chỉ cho một nbsp / phần tử html khác là một việc khó. Bên cạnh đó, 'khoảng trống' có thể bị lãng quên. Điều này khá dài dòng, trong khi có những lựa chọn thay thế ngắn hơn.
Vào

4

Cách dễ nhất là:

<h:outputText value=" " />

Đó không phải là cách dễ nhất, theo ý kiến ​​của tôi.
alexander

4

Tôi thấy rằng trình phân tích cú pháp sẽ phàn nàn nếu tôi sử dụng &nbsp;thực thể trong trang của mình. Sau khi nghiên cứu một chút, tôi biết rằng nếu tôi thêm khai báo DOCTYPE vào đầu trang, thì thực thể đã được phép. Tôi sử dụng khai báo DOCTYPE này:

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

Một tác dụng phụ của điều này là mã kết quả (như được thấy bằng cách sử dụng tính năng "xem nguồn" của trình duyệt web) không thực sự chứa &nbsp; thực thể. Thay vào đó, nó bao gồm các ký tự thực đại diện cho một không gian không ngắt. Mặc dù nó hoạt động, nhưng nó không thực sự như những gì tôi muốn. Tôi vẫn đang tìm cách làm cho trình phân tích cú pháp không thay thế thực thể bằng ký tự.

Thông tin thêm tại đây: http://java.net/jira/browse/JAVASERVERFACES-1576


2

Bạn có thể sử dụng primefacesthư viện

 <p:spacer width="10" />

Điều này không cung cấp câu trả lời cho câu hỏi. Khi bạn có đủ danh tiếng, bạn sẽ có thể nhận xét về bất kỳ bài đăng nào ; thay vào đó, cung cấp các câu trả lời không yêu cầu người hỏi làm rõ . - Từ xét
Luca Detomi

@ihebiheb đã được +6, đừng nói với tôi là sai, bởi vì tôi biết nó đúng, chỉ cần bạn nói blah blah ..
Mohamed Aymen Charrada

Câu trả lời của bạn đã bị gắn cờ là quá ngắn vì thiếu chi tiết. Tôi khuyên bạn nên thêm thông tin chi tiết để người dùng hiểu "tại sao" giải pháp của bạn có thể là giải pháp tốt hoặc có thể là giải pháp tốt nhất. Thêm người dùng tập tin chi tiết điều chỉnh giải pháp của bạn cho các vấn đề hơi khác nhau.
Luca Detomi

1

chỉ để thêm vào các tùy chọn: <h:outputText value="&amp;nbsp;" escape="false"/>đã làm việc


Tôi cảm thấy việc trốn thoát có tầm quan trọng như vậy, điều này có thể nhường chỗ cho các giải pháp không an toàn. Việc từ bỏ thoát chỉ cho một nbsp / phần tử html khác là một việc khó. Bên cạnh đó, điều này khá dài dòng, trong khi có những lựa chọn thay thế ngắn hơn.
Vào

0

Không cần thiết phải cung cấp cho 160. 141 cũng sẽ hoạt động. Đối với trường giá trị, hãy cung cấp giá trị = "& # 141".


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.