[英]Import custom fonts to JSF
我无法将自定义 fonts 导入我的 JSF 页面。 项目结构如下所示:
我试图在我的 styles.css 中写下以下内容:
@font-face {
font-family: "Gotham Pro Bold";
src: url('#{resource["fonts/GothaProBol.otf"]}');
}
但它不起作用。 它被编译为/javax.faces.resource/fonts/GothaProBol.otf.xhtml
,但字体不在javax.faces.resource
中,我不知道为什么它附加.xhtml
。
下列:
src: url("#{facesContext.externalContext.requestContextPath}/resources/fonts/GothaProBol.otf");
被编译成
src: url("/resources/fonts/GothaProBol.otf");
但它也不起作用。
如何正确导入 fonts?
提前致谢。
这样做是使用OmniFaces进行的 :
添加了依赖项 ( pom.xml
):
<dependency> <groupId>org.omnifaces</groupId> <artifactId>omnifaces</artifactId> <version>1.8.1</version> </dependency>
在faces-config.xml
添加了OmniFaces的资源处理程序:
<application> <resource-handler> org.omnifaces.resourcehandler.UnmappedResourceHandler </resource-handler> </application>
将/javax.faces.resource/*
映射到FacesServlet
如下( web.xml
):
<servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>/javax.faces.resource/*</url-pattern> <url-pattern>*.xhtml</url-pattern> </servlet-mapping>
在CSS中使用#{resource["<path>"]}
,如下所示:
@font-face { font-family: "Gotham Pro Bold"; src: url('#{resource["fonts/GothaProBol.otf"]}'); }
我有同样的问题。 这个 URL 有效
@font-face {
font-family: "MyFont";
src:
url("mfont/mfont.ttf.xhtml?ln=fonts")
format("truetype")
}
该文件位于“/resources/fonts/mfont/mfont.ttf”
另请注意,css 文件本身包含在使用 h:outputStylesheet 中(因为字体 url 需要相对于 css)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.