Maison > interface Web > tutoriel CSS > Comment utiliser les icônes Font Awesome de webjars.org dans une application JSF sans dépendance à un serveur externe ?

Comment utiliser les icônes Font Awesome de webjars.org dans une application JSF sans dépendance à un serveur externe ?

Patricia Arquette
Libérer: 2024-11-10 15:34:02
original
590 Les gens l'ont consulté

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

Utilisation de Font Awesome de webjars.org avec JSF

Introduction
Intégration des icônes Font Awesome dans votre JSF L'application peut améliorer son attrait visuel et améliorer l'expérience utilisateur. Cependant, s’appuyer sur des serveurs externes pour ces ressources n’est pas idéal. Cet article explore une solution utilisant le projet webjars pour regrouper les ressources nécessaires dans votre fichier WAR.

Problème
Utilisation du code suivant pour inclure Font Awesome :

<h:outputStylesheet library="webjars" name="font-awesome/3.2.1/css/font-awesome.css"  />
Copier après la connexion

entraînait des icônes cassées et des erreurs de console indiquant que les polices n'étaient pas trouvées aux chemins spécifiés :

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)
...
Copier après la connexion

Solution
Le problème réside dans le mappage JSF manquant et nom de la bibliothèque dans les URL des ressources. Pour résoudre ce problème, utilisez l'expression #{resource} dans le fichier CSS pour générer les URL de ressources JSF appropriées :

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

Cependant, comme cela implique de modifier le code source, une solution alternative consiste à utiliser la bibliothèque OmniFaces. UnmappedResourceHandler :

  1. Installer OmniFaces (par exemple, en utilisant Maven)
  2. Enregistrer UnmappedResourceHandler dans faces-config.xml :
<application>
    <resource-handler>org.omnifaces.resourcehandler.UnmappedResourceHandler</resource-handler>
</application>
Copier après la connexion
  1. Ajouter /javax.faces.resource/* vers le mappage FacesServlet :
<servlet-mapping>
    <servlet-name>facesServlet</servlet-name>
    <url-pattern>/javax.faces.resource/*</url-pattern>
    <url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
Copier après la connexion
  1. Déplacez le nom de la bibliothèque vers le nom de la ressource dans le fichier tag :
<h:outputStylesheet name="webjars/font-awesome/3.2.1/css/font-awesome.css" />
Copier après la connexion

En suivant ces étapes, les icônes Font Awesome devraient désormais s'afficher correctement dans votre application JSF, sans avoir besoin de recourir à des serveurs externes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal