将FontAwesome 5.x与PrimeFaces 6.2+一起使用

时间:2018-12-14 15:16:01

标签: primefaces icons font-awesome

我正在检查以下问题: How to use Font Awesome from webjars.org with JSF 回答这个问题: FontAwesome with PrimeFaces 其答案为https://stackoverflow.com/a/33070133/5113188

嗨,我想使用https://fontawesome.com/changelog/latest 5.5 版本的新图标

在我的pom.xml文件项目中……

    <dependency>
        <groupId>org.primefaces</groupId>
        <artifactId>primefaces</artifactId>
        <version>6.2</version>
    </dependency>
    <dependency>
        <groupId>org.primefaces.extensions</groupId>
        <artifactId>primefaces-extensions</artifactId>
        <version>6.2</version>
    </dependency>
    <dependency>
        <groupId>org.omnifaces</groupId>
        <artifactId>omnifaces</artifactId>
        <version>2.1</version>
    </dependency>


    <!-- https://mvnrepository.com/artifact/org.webjars/font-awesome -->
    <dependency>
        <groupId>org.webjars</groupId>
        <artifactId>font-awesome</artifactId>
        <version>5.5.0</version>
    </dependency>

在我的web.xml文件中

<!-- Fontawesome --> 
<context-param>
    <param-name>primefaces.FONT_AWESOME</param-name>
    <param-value>true</param-value>         
</context-param>

在我的facelet .xhtml

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:p="http://primefaces.org/ui"
                template="/templates/template.xhtml">
    <ui:define name="body">
        <h:outputScript library="webjars" name="font-awesome/5.5.0/js/all.js"/>

...

    <p:spacer width="10"/>6
    <h:outputText styleClass="fas fas-map"/>7
    <h:outputText styleClass="fa fa-venus-mars fa-icon-custom" />
    <h:outputText styleClass="fa fa-female fa-icon-custom" />
    <h:outputText styleClass="fa fa-male fa-icon-custom" />

注意:我正在使用fasfa,但都无法使用

就像显示我的图像一样,所有图标都失败了

enter image description here

该如何解决?

1 个答案:

答案 0 :(得分:3)

在PF 6.2.12和PF 6.3中添加了使用FontAwesome 5的功能。查看此票证并提交,它增加了以下功能:

https://github.com/primefaces/primefaces/issues/4276

https://github.com/primefaces/primefaces/commit/c28c0bccc615bffb99c30825c8c7d8084c3a72da

在web.xml中关闭默认的PF支持:

<context-param>
     <param-name>primefaces.FONT_AWESOME</param-name>
     <param-value>false</param-value>         
</context-param>

更新您的pom.xml。

<dependency>
     <groupId>org.webjars</groupId>
     <artifactId>font-awesome</artifactId>
     <version>5.8.2</version>
</dependency>

为JSF使用正确的WebJars CSS。

<h:outputStylesheet library="webjars" name="font-awesome/5.8.2/css/all.min-jsf.css" />
<h:outputStylesheet library="webjars" name="font-awesome/5.8.2/css/v4-shims.min-jsf.css" />

注意::由于Font Awesome已分为“ fas”,“ fab”等不同类别,因此您将不得不更改“ fa”。请参见documentation here