我正在使用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
为什么会发生这种情况,我该怎么办?
答案 0 :(得分:2)
themeUri参数提供了正在使用的主题的URI,因此请尝试在src属性中使用它:
page.write("\n<script type=\"text/javascript\" src=\"" + themeUri + "/js/jquery-1.7.1.js\"></script>");