前の質問で提案されているように、次のように Servlet クラスを介して渡すことにより、jquery.js および javascript.js ファイルをページに含めようとしています。
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>
しかし、同じメッセージの問題が残ります。vaadin 7 でアノテーションが推奨される方法であることは承知して@Javascript
いますが、一般的な方法でも同様に機能するはずです。Servlet Class に Content Type を設定しません。からのメソッドを提供しないhttps://vaadin.com/api/BootstrapPageRespone
からのクラスのみを使用できます。そうでなければ、プログラムでも設定したでしょう。 ServletResponse