我试图在我的页面上包含 jquery.js 和 javascript.js 文件,如上一个问题中所建议的那样,通过 Servlet 类传递它,例如:
response.getDocument().body().appendChild(new DataNode("<script src=\"" + themeUri
+ "/js/nativeinit.js\" type=\"text/javascript\"></script>",""));
response.getDocument().body().appendChild(new DataNode("<script src=\"" + themeUri
+ "/js/jquery.min.js\" type=\"text/javascript\"></script>",""));
当我在浏览器中看到控制台时,虽然我看到了两个文件的消息:
Resource interpreted as Script but transferred with MIME type text/html: "http:8080/uri/js/nativeinit.js". myhost/:47
Resource interpreted as Script but transferred with MIME type text/html: "http:8080/uri/js/jquery.min.js". myhost/:47
接着:
Uncaught SyntaxError: Unexpected token < nativeinit.js:1
Uncaught SyntaxError: Unexpected token < jquery.min.js:1
出了什么问题,它无法将它们作为脚本读取?为什么这个意外令牌的奇怪消息?我应该更改/添加什么?
更新:
我还在我的 web.xml 文件中添加了:
<mime-mapping>
<extension>js</extension>
<mime-type>application/javascript</mime-type>
</mime-mapping>
但是相同消息的问题仍然存在。我知道@Javascript
注释是 vaadin 7 中推荐的方式,但我认为它应该在常用方式上也能正常工作。我没有在 Servlet 类中设置内容类型。我只能在那里使用BootstrapPageRespone
来自https://vaadin.com/api/的类,它不提供来自ServletResponse
. 否则我也会以编程方式设置它。