Javascript 将代码添加到html头标记的vaadin8方法是什么?

Javascript 将代码添加到html头标记的vaadin8方法是什么?,javascript,vaadin,vaadin8,Javascript,Vaadin,Vaadin8,建议重写ApplicationServlet.writeAjaxPageHtmlHeader,但我在Vaadin 8中找不到这些类和方法 我在com.vaadin.server.VaadinServlet或com.vaadin.ui.ui中找不到类似的内容 这里有@JavaScript注释,但是如果我把它放在我的UI类上,脚本将为我的应用程序的每个页面加载。我只需要在一个特定页面上使用它。最初的HTML页面在Vaadin中称为引导页面。有一些文档提示您在中选择正确的方向 在vaadin8中,您需

建议重写ApplicationServlet.writeAjaxPageHtmlHeader,但我在Vaadin 8中找不到这些类和方法

我在com.vaadin.server.VaadinServlet或com.vaadin.ui.ui中找不到类似的内容


这里有@JavaScript注释,但是如果我把它放在我的UI类上,脚本将为我的应用程序的每个页面加载。我只需要在一个特定页面上使用它。

最初的HTML页面在Vaadin中称为引导页面。有一些文档提示您在中选择正确的方向

在vaadin8中,您需要将BootstrapListener添加到会话中。您可以通过在VaadinServlet中添加SessionInitListener来创建会话

注册会话

本例使用带弹簧靴的Vaadin,但不使用弹簧靴时,同样的原则适用

@Component("vaadinServlet")
@WebServlet(urlPatterns = "/*", name = "BootstrapVaadinServlet", asyncSupported = true)
@VaadinServletConfiguration(ui = BoostrapUi.class, productionMode = false)
public class BootstrapVaadinServlet extends SpringVaadinServlet {
    private static final Logger logger = LoggerFactory.getLogger(BootstrapVaadinServlet.class);
    @Override
    protected void servletInitialized() throws ServletException {
        super.servletInitialized();
        getService().addSessionInitListener(this::addBoostrapListenerOnSessionInit);
    }

    private void addBoostrapListenerOnSessionInit(SessionInitEvent sessionInitEvent) {
        sessionInitEvent.getSession().addBootstrapListener(new AppBootstrapListener());
    }
}
实现html头标记修改


最初的HTML页面在Vaadin中称为引导页面。有一些文档提示您在中选择正确的方向

在vaadin8中,您需要将BootstrapListener添加到会话中。您可以通过在VaadinServlet中添加SessionInitListener来创建会话

注册会话

本例使用带弹簧靴的Vaadin,但不使用弹簧靴时,同样的原则适用

@Component("vaadinServlet")
@WebServlet(urlPatterns = "/*", name = "BootstrapVaadinServlet", asyncSupported = true)
@VaadinServletConfiguration(ui = BoostrapUi.class, productionMode = false)
public class BootstrapVaadinServlet extends SpringVaadinServlet {
    private static final Logger logger = LoggerFactory.getLogger(BootstrapVaadinServlet.class);
    @Override
    protected void servletInitialized() throws ServletException {
        super.servletInitialized();
        getService().addSessionInitListener(this::addBoostrapListenerOnSessionInit);
    }

    private void addBoostrapListenerOnSessionInit(SessionInitEvent sessionInitEvent) {
        sessionInitEvent.getSession().addBootstrapListener(new AppBootstrapListener());
    }
}
实现html头标记修改


如果可以使用附加组件,请尝试

概述

使用此加载项,您可以定义要添加到主机页的标记 向UI类添加注释

来自附加组件使用示例的示例

@MetaTags({
   // Replaces the Vaadin X-UA-Compatible header
   @Meta(httpEquiv = "X-UA-Compatible", content = "hello"),
   @Meta(name = "test", content = "test") })

// And showing how to create a link tag as well
@Link(rel = "foobar", href = "about:blank")
public class DemoUI extends UI {
    ...
}

如果可以使用附加组件,请尝试

概述

使用此加载项,您可以定义要添加到主机页的标记 向UI类添加注释

来自附加组件使用示例的示例

@MetaTags({
   // Replaces the Vaadin X-UA-Compatible header
   @Meta(httpEquiv = "X-UA-Compatible", content = "hello"),
   @Meta(name = "test", content = "test") })

// And showing how to create a link tag as well
@Link(rel = "foobar", href = "about:blank")
public class DemoUI extends UI {
    ...
}