如何在 Wicket 中从 WebJars 挂载 Glyphicon 字体
How to mount Glyphicon fonts from WebJars in Wicket
使用 wicket-bootstrap-core
和 wicket-bootstrap-less
(均为 0.10.5 版本),我已成功将 Bootstrap 集成到我的 Wicket 7 项目中。在方法
中进行设置
private void initBootstrap() {
WicketWebjars.install(this);
BootstrapSettings settings = new BootstrapSettings();
settings.setThemeProvider(new SingleThemeProvider(new MyTheme()));
Bootstrap.install(this, settings);
BootstrapLess.install(this);
}
主题class MyTheme
引用LESS文件theme.less
。在这个文件(编译成功)中,Bootstrap 和 Glyphicons 是使用指令
导入的
@import "webjars!bootstrap/current/less/bootstrap.less";
@import "webjars!bootstrap/current/less/glyphicons.less";
唯一的问题是,当我在我的标记中使用任何 Glyphicons 时,这会导致请求将字体文件下载到路径 http://localhost:8080/myproject/wicket/resource/fonts/glyphicons-halflings-regular.woff2
(与其他扩展相同)。由于没有使用名为 fonts
的 class 安装资源,这导致
21:36:35.298 [tomcat-http--31] WARN o.a.w.c.u.l.WicketObjects - Could not resolve class [fonts]
java.lang.ClassNotFoundException: fonts
[stack trace omitted]
因此问题是:如何正确挂载这些资源?从 this I get the impression that the mounting should be automatic, and from this 我进一步得到的印象是这应该是一个明智的选择。
经过进一步思考,我想到了以下解决方案:添加行
@icon-font-path: '../de.agilecoders.wicket.webjars.request.resource.IWebjarsResourceReference/webjars/bootstrap/current/fonts/';
到 theme.less
以便图标 URL 指向已安装文件的位置。
虽然这个解决方案确实有效,但我真的希望有一个不那么可怕的方法。
使用 wicket-bootstrap-core
和 wicket-bootstrap-less
(均为 0.10.5 版本),我已成功将 Bootstrap 集成到我的 Wicket 7 项目中。在方法
private void initBootstrap() {
WicketWebjars.install(this);
BootstrapSettings settings = new BootstrapSettings();
settings.setThemeProvider(new SingleThemeProvider(new MyTheme()));
Bootstrap.install(this, settings);
BootstrapLess.install(this);
}
主题class MyTheme
引用LESS文件theme.less
。在这个文件(编译成功)中,Bootstrap 和 Glyphicons 是使用指令
@import "webjars!bootstrap/current/less/bootstrap.less";
@import "webjars!bootstrap/current/less/glyphicons.less";
唯一的问题是,当我在我的标记中使用任何 Glyphicons 时,这会导致请求将字体文件下载到路径 http://localhost:8080/myproject/wicket/resource/fonts/glyphicons-halflings-regular.woff2
(与其他扩展相同)。由于没有使用名为 fonts
的 class 安装资源,这导致
21:36:35.298 [tomcat-http--31] WARN o.a.w.c.u.l.WicketObjects - Could not resolve class [fonts]
java.lang.ClassNotFoundException: fonts
[stack trace omitted]
因此问题是:如何正确挂载这些资源?从 this I get the impression that the mounting should be automatic, and from this 我进一步得到的印象是这应该是一个明智的选择。
经过进一步思考,我想到了以下解决方案:添加行
@icon-font-path: '../de.agilecoders.wicket.webjars.request.resource.IWebjarsResourceReference/webjars/bootstrap/current/fonts/';
到 theme.less
以便图标 URL 指向已安装文件的位置。
虽然这个解决方案确实有效,但我真的希望有一个不那么可怕的方法。