Vaadin不允许导入外部脚本

时间:2012-03-12 11:43:25

标签: java jquery scripting vaadin

我正在使用Vaadin并尝试导入jQuery和我自己的脚本。我已经扩展了ApplicationServlet类并重新定义了这个方法

@Override
protected void writeAjaxPageHtmlHeader(BufferedWriter page, String title,
        String themeUri, HttpServletRequest request) {

    try {
        super.writeAjaxPageHtmlHeader(page, title, themeUri, request);
        page.write("\n<script type=\"text/javascript\" src=\"/VAADIN/themes/MyTheme/js/jquery-1.7.1.js\"></script>");
        page.write("\n<script type=\"text/javascript\" src=\"/VAADIN/themes/MyTheme/js/script.js\"></script>");
        System.out.println("Added jQuery and other scripts to page header.");
    } catch (IOException e) {
        e.printStackTrace();
    }
}

并在web.xml servlet类中更改为我自己的,但是当我运行它时,我的脚本不起作用,所以我打开JavaScript控制台并获取这两条消息:

不允许加载本地资源:file:///VAADIN/themes/MyTheme/js/jquery-1.7.1.js

不允许加载本地资源:file:///VAADIN/themes/MyTheme/js/script.js

为什么会发生这种情况,我该怎么办?

1 个答案:

答案 0 :(得分:2)

themeUri参数提供了正在使用的主题的URI,因此请尝试在src属性中使用它:

page.write("\n<script type=\"text/javascript\" src=\"" + themeUri + "/js/jquery-1.7.1.js\"></script>");