使用纯 Java 和 Springboot 在 Vaadin 中更改 FavIcon
Changing FavIcon in Vaadin using pure Java alongside Springboot
我想在 Vaadin 中更改与 Springboot 结合的网站图标。我还选择了在 Vaadin 中走纯 Java 路线(没有 html 页面)。
我遵循了 this guide,它解释了我希望使用的图标应该添加到 src/main/webapp/icons
文件夹中,在那里它将被自动拾取、调整大小等。
我试过了没有用,然后我找到了这个thread and subsequently this one。后者link特别说明Spring-boot有自己的目录,应该避免webapp
文件夹。我尝试使用 spring 目录,但仍然无济于事。
我的资源文件夹目前看起来是这样的:
我的 MainView 是这样的:
@Route
@PageTitle("My new title")
public class MainView extends VerticalLayout {
我的 SpringBootApplication
class 是这样的:
@SpringBootApplication
public class MyVaadinApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(MyVaadinApplication.class, args);
}
}
图标仍保持默认 spring 叶子:
我在尝试设置网站图标时哪里出错了?
将 icon.png
添加到 resources/META-INF/resources/icons/icon.png
然后:
- 如果您使用的是渐进式网络应用程序(
@PWA
注释),它应该已经可以工作了
- 如果您使用简单的 vaadin 应用程序,您应该实施
PageConfiguration
并将 link 添加到您的 favicon。
@Route("favicon")
public class FaviconTest extends Div implements PageConfigurator {
@Override
public void configurePage(InitialPageSettings settings) {
HashMap<String, String> attributes = new HashMap<>();
attributes.put("rel", "shortcut icon");
attributes.put("type", "image/png");
settings.addLink("icons/icon.png", attributes);
}
}
我想在 Vaadin 中更改与 Springboot 结合的网站图标。我还选择了在 Vaadin 中走纯 Java 路线(没有 html 页面)。
我遵循了 this guide,它解释了我希望使用的图标应该添加到 src/main/webapp/icons
文件夹中,在那里它将被自动拾取、调整大小等。
我试过了没有用,然后我找到了这个thread and subsequently this one。后者link特别说明Spring-boot有自己的目录,应该避免webapp
文件夹。我尝试使用 spring 目录,但仍然无济于事。
我的资源文件夹目前看起来是这样的:
我的 MainView 是这样的:
@Route
@PageTitle("My new title")
public class MainView extends VerticalLayout {
我的 SpringBootApplication
class 是这样的:
@SpringBootApplication
public class MyVaadinApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(MyVaadinApplication.class, args);
}
}
图标仍保持默认 spring 叶子:
我在尝试设置网站图标时哪里出错了?
将 icon.png
添加到 resources/META-INF/resources/icons/icon.png
然后:
- 如果您使用的是渐进式网络应用程序(
@PWA
注释),它应该已经可以工作了 - 如果您使用简单的 vaadin 应用程序,您应该实施
PageConfiguration
并将 link 添加到您的 favicon。
@Route("favicon")
public class FaviconTest extends Div implements PageConfigurator {
@Override
public void configurePage(InitialPageSettings settings) {
HashMap<String, String> attributes = new HashMap<>();
attributes.put("rel", "shortcut icon");
attributes.put("type", "image/png");
settings.addLink("icons/icon.png", attributes);
}
}