【问题标题】:Vaadin: adding a custom javascript to bootstrap page [duplicate]Vaadin:向引导页面添加自定义 javascript [重复]
【发布时间】:2016-11-10 13:14:39
【问题描述】:

我需要将 jquery 添加到我的 vaadin 应用程序的引导页面。我在我的自定义 Servlet 类中添加了以下内容

@Override
public void sessionInit(SessionInitEvent event) throws ServiceException {
    event.getSession().addBootstrapListener(new BootstrapListener() {
        @Override
        public void modifyBootstrapPage(BootstrapPageResponse response) {
            //Jquery is necessary for open in new window button
            String contextPath = event.getRequest().getContextPath();
            response.getDocument().head().prependElement("script").attr("type", "text/javascript").attr("src", contextPath + "/VAADIN/js/jquery.min.js");
            response.getDocument().head().prependElement("script").attr("type", "text/javascript").attr("src", contextPath + "/VAADIN/js/jquery-ui.js");
        }

        @Override
        public void modifyBootstrapFragment(BootstrapFragmentResponse response) {
        }
    });
}

此代码有时会在event.getRequest().getContextPath(); 中引发空指针异常

Caused by: java.lang.NullPointerException
at org.apache.catalina.connector.Request.getServletContext(Request.java:1598) ~[catalina.jar:8.0.24]
at org.apache.catalina.connector.Request.getContextPath(Request.java:1915) ~[catalina.jar:8.0.24]
at org.apache.catalina.connector.RequestFacade.getContextPath(RequestFacade.java:783) ~[catalina.jar:8.0.24]
at javax.servlet.http.HttpServletRequestWrapper.getContextPath(HttpServletRequestWrapper.java:150) ~[servlet-api.jar:?]
at com.mycompany.MyServlet$1.modifyBootstrapPage(YaanServlet.java:56) ~[web-yaan-ui-base-1.3.39.jar:?]

在这种情况下获取上下文路径的正确方法是什么?

【问题讨论】:

标签: java vaadin


【解决方案1】:

一个更简单的方法是在你的 UI 类上使用 @JavsScript 注释

package com.company.mine;
@JavaScript({"jquery.min.js","jquery-ui.js"})
public class YourUI extends UI 
{

}

然后,您需要将这两个 javascript 文件放入与 YourUI 类匹配的文件夹中。我使用 maven,所以它需要在 src/main/resources/com/company/mine/jquery.min.js 中

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多