Wicket8 の Web を書いていてこれに遭遇。
Uncaught SyntaxError: Unexpected token <
Webコンテキスト直下に js ディレクトリ、jquery-3.3.1.min.js を置いて
単純に、wicket:head タグで、
<wicket:head> <script type="text/javascript" src="js/jquery-3.3.1.min.js"></script> </wicket:head>
と書いただけなのに、、凄く悩んだ、
原因は、WebApplication の init() に書いた、、
getRootRequestMapperAsCompound().add(new NoVersionMapper("/", HomePage.class));
どうもこれが悪さをするみたい。
URLにページ番号を付けない ようにと思って書いたのだけど、
先頭を対象にした "/" にこれを書いてしまうと、、src="js/jquery-3.3.1.min.js" で指定している
ものは、ブラウザで直接URL入力すると解るが、JSは読み込まず、web.xml で書いた
フィルタ
<filter-mapping> <filter-name>WebFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
ここから、強制的に WebApplication で指定する getHomePage() が効いてしまう。。
でも、ブラウザのデバッガは、js/jquery-3.3.1.min.js に対して HTTP sstatis = 200
である。
そして、訳のわからぬ→ Uncaught SyntaxError: Unexpected token <
"/" に対する NoVersionMapper の設定を廃止すれば、問題なくなる!