Font Awesome을 JSF에 통합할 때 브라우저에 아이콘 대신 빈 사각형이 표시되는 문제가 발생할 수 있습니다. 이 오류는 리소스 처리를 위해 JSF에서 사용하는 수정된 경로로 인해 해결되지 않는 상대 경로를 사용하여 CSS 파일이 글꼴 파일을 참조할 때 발생합니다.
기본 Font Awesome CSS 파일 ../fonts/와 같은 상대 경로를 사용하여 글꼴 파일을 참조합니다. 그러나
문제를 해결하려면 CSS 파일을 편집하고 관련 글꼴 파일 참조를 바꿔야 합니다. #{resource} EL 매핑과 적절한 라이브러리 및 리소스 이름을 사용하는 절대 참조가 있습니다. 예를 들어 다음과 같은 구조에서
WebContent |-- resources | `-- font-awesome | |-- css | | |-- font-awesome.css | | `-- font-awesome.min.css | `-- fonts | |-- fontawesome-webfont.eot | |-- fontawesome-webfont.svg | |-- fontawesome-webfont.ttf | |-- fontawesome-webfont.woff | `-- fontawesome-webfont.woff2
다음과 같이 CSS 파일을 편집합니다.
<code class="css">@font-face { font-family: 'FontAwesome'; src: url("#{resource['font-awesome:fonts/fontawesome-webfont.eot']}&v=4.3.0"); src: url("#{resource['font-awesome:fonts/fontawesome-webfont.eot']}&#iefix&v=4.3.0") format('embedded-opentype'), url("#{resource['font-awesome:fonts/fontawesome-webfont.woff2']}&v=4.3.0") format('woff2'), url("#{resource['font-awesome:fonts/fontawesome-webfont.woff']}&v=4.3.0") format('woff'), url("#{resource['font-awesome:fonts/fontawesome-webfont.ttf']}&v=4.3.0") format('truetype'), url("#{resource['font-awesome:fonts/fontawesome-webfont.svg']}&v=4.3.0#fontawesomeregular") format('svg'); font-weight: normal; font-style: normal; }</code>
JSF1091이 발생할 수도 있습니다. 특정 파일 형식에 MIME 형식 매핑이 없으면 경고가 표시됩니다. 예를 들어 SVG 및 WOFF2 파일이 있습니다. 이 문제를 해결하려면 web.xml에 다음 MIME 매핑을 추가하세요.
<code class="xml"><mime-mapping> <extension>eot</extension> <mime-type>application/vnd.ms-fontobject</mime-type> </mime-mapping> <mime-mapping> <extension>otf</extension> <mime-type>font/opentype</mime-type> </mime-mapping> <mime-mapping> <extension>svg</extension> <mime-type>image/svg+xml</mime-type> </mime-mapping> <mime-mapping> <extension>ttf</extension> <mime-type>application/x-font-ttf</mime-type> </mime-mapping> <mime-mapping> <extension>woff</extension> <mime-type>application/x-font-woff</mime-type> </mime-mapping> <mime-mapping> <extension>woff2</extension> <mime-type>application/x-font-woff2</mime-type> </mime-mapping></code>
OmniFaces를 사용하는 경우 OmniFaces UnmappedResourceHandler를 설치하고 FacesServlet을 재구성할 수 있습니다. 누락된 MIME 유형 매핑을 자동으로 처리하는 매핑입니다. 그러나 이 경우 라이브러리 속성을 사용하지 않고 글꼴 CSS 파일을 참조해야 합니다.
<code class="xml"><h:outputStylesheet name="font-awesome/css/font-awesome.min.css" / ></code>
위 내용은 Font Awesome을 JSF와 통합하고 글꼴 파일 문제를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!