【发布时间】:2025-11-26 00:45:01
【问题描述】:
在我的 Wicket(使用 Bootstrap)应用程序中,我将工件 org.webjars:font-awesome:4.6.3 作为传递依赖项。
我想使用此字体通过与页面MyBasePage 关联的 CSS 文件来设置页面样式。
这是HomePage.css的摘录:
.banned div::before {
font-family: FontAwesome, serif;
content: '\f05e ';
color: #c00000;
}
让客户端可以访问字体的正确方法是什么?
CSS 文件 HomePage.css 通过PackageResourceReference cssFile = new PackageResourceReference
(HomePage.class, "HomePage.css"); 正确嵌入
更新
根据@martin-g 的提示,我对我的代码进行了这些更改
在应用程序中
public class WicketApplication extends WebApplication
{
@Override
protected void init()
{
mountResource("css/font-awesome.css", FontAwesomeCssReference.instance());
}
}
在页面中
public abstract class HomePage extends WebPage
{
@Override
public void renderHead(IHeaderResponse response)
{
super.renderHead(response);
CssHeaderItem fontAwesom = CssHeaderItem.forUrl("css/font-awesome.css");
response.render(fontAwesom);
PackageResourceReference cssFile = new PackageResourceReference
(HomePage.class, "HomePage.css");
CssHeaderItem cssItem = CssHeaderItem.forReference(cssFile);
response.render(cssItem);
}
}
在 HTML(浏览器)中现在有有效的链接
<link rel="stylesheet" type="text/css" href="../../css/font-awesome.css" />
<link rel="stylesheet" type="text/css" href="../resource/com.package.HomePage/HomePage-ver-1500642636000.css" />
但在 font-awesome.css 中,我猜这些链接无法解析:
font-family: 'FontAwesome';
src: url('../fonts/fontawesome-webfont.eot?v=4.6.3');
src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.6.3') ...
【问题讨论】:
-
我创建了一个基于 Wicket 快速入门 (gitlab.com/UlrichK/FontAwesomeWebjar.git) 的 MCVE。通过测试执行 --> 开始
标签: css wicket font-face webjars