Rumah >hujung hadapan web >tutorial css >Bagaimana Menggunakan Ikon Font Hebat dari webjars.org dalam Aplikasi JSF Tanpa Pergantungan Pelayan Luaran?

Bagaimana Menggunakan Ikon Font Hebat dari webjars.org dalam Aplikasi JSF Tanpa Pergantungan Pelayan Luaran?

Patricia Arquette
Patricia Arquetteasal
2024-11-10 15:34:02618semak imbas

How to Use Font Awesome Icons from webjars.org in a JSF Application Without External Server Reliance?

Menggunakan Font Awesome dari webjars.org dengan JSF

Pengenalan
Mengintegrasikan ikon Font Awesome ke dalam JSF anda aplikasi boleh meningkatkan daya tarikan visualnya dan meningkatkan pengalaman pengguna. Walau bagaimanapun, bergantung pada pelayan luaran untuk sumber ini tidak sesuai. Artikel ini meneroka penyelesaian menggunakan projek webjars untuk menggabungkan sumber yang diperlukan dalam fail WAR anda.

Isu
Menggunakan kod berikut untuk memasukkan Font Awesome:

<h:outputStylesheet library="webjars" name="font-awesome/3.2.1/css/font-awesome.css"  />

mengakibatkan ikon rosak dan ralat konsol yang menunjukkan fon tidak ditemui pada laluan yang ditentukan:

GET http://DOMAIN:PORT/CONTEXT-ROOT/javax.faces.resource/font-awesome/3.2.1/font/fontawesome-webfont.woff?v=3.2.1 404 (Not Found)
...

Penyelesaian
Masalahnya terletak pada pemetaan JSF yang hilang dan nama perpustakaan dalam URL sumber. Untuk menyelesaikan masalah ini, gunakan ungkapan #{resource} dalam fail CSS untuk menjana URL sumber JSF yang betul:

src: url("#{resource['webjars:font-awesome/3.2.1/font/fontawesome-webfont.eot']}&amp;v=3.2.1");
...

Walau bagaimanapun, memandangkan ini melibatkan penyuntingan kod sumber, penyelesaian alternatif adalah dengan menggunakan perpustakaan OmniFaces UnmappedResourceHandler:

  1. Pasang OmniFaces (cth., menggunakan Maven)
  2. Daftar UnmappedResourceHandler dalam faces-config.xml:
<application>
    <resource-handler>org.omnifaces.resourcehandler.UnmappedResourceHandler</resource-handler>
</application>
    Add>
<servlet-mapping>
    <servlet-name>facesServlet</servlet-name>
    <url-pattern>/javax.faces.resource/*</url-pattern>
    <url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
    Alihkan nama perpustakaan ke nama sumber dalam tag:
<h:outputStylesheet name="webjars/font-awesome/3.2.1/css/font-awesome.css" />
Dengan mengikut langkah-langkah ini, ikon Font Awesome kini sepatutnya dipaparkan dengan betul dalam aplikasi JSF anda, tanpa perlu bergantung pada pelayan luaran.

Atas ialah kandungan terperinci Bagaimana Menggunakan Ikon Font Hebat dari webjars.org dalam Aplikasi JSF Tanpa Pergantungan Pelayan Luaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn