Saya ingin menggunakan spasi tanpa putus di halaman JSF saya. Saya tahu, dalam HTML biasa saya dapat menggunakan
untuk ini dan ini berfungsi dengan baik. Namun, ketika saya meletakkannya
di halaman Facelet, maka kesalahannya sebagai berikut:
Error Parsing /page.xhtml: Error Traced [baris: 42] Entitas "nbsp" direferensikan, tetapi tidak dideklarasikan.
Bagaimana ini disebabkan dan bagaimana cara mengatasinya?
jsf
jsf-2
facelets
html-entities
Fahim Parkar
sumber
sumber
persis?Jawaban:
Facelet adalah teknologi tampilan berbasis XML. XML hanya memiliki lima entitas yang telah ditentukan sebelumnya . Tidak
ada di antara mereka. Ia hanya berfungsi jika digunakan dalam HTML biasa atau dalam JSP lama (catatan: ia tidak berfungsi di JSPX karena itu juga berbasis XML!).Untuk memperbaikinya, Anda juga perlu mendeklarasikan entitas itu sendiri di doctype dari file XHTML yang paling berisi
entitas tersebut,<!DOCTYPE html [ <!ENTITY nbsp " "> ]>
atau, lebih baik, gunakan notasi desimal (heksa) sebagai gantinya:
Dalam IDE rata-rata, sebaiknya lakukan "temukan dan ganti di semua file" dan mengganti setiap kemunculan
oleh 
.sumber
Coba gunakan
&#160;
. untuk informasi lebih lanjut tentang entitas, Anda dapat merujuk url HTML ISO-8859-1 Referensi berikutsumber
<![CDATA[ ]]>
harus bekerja dengan baik. Ini tidak berfungsi di dalam nilai atribut.Atau, selama
&
merupakan entitas standar dalam XML, Anda dapat mencoba&nbsp;
- bekerja untuk saya dengan JSP berbasis XML. Ini harus bekerja dalam atribut juga.sumber
Bagi saya, doctype berikut memungkinkan
:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
sumber
Menambahkan
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
ke bagian atas file
sumber