私は JSPX と Tiles が初めてです。私のタイル定義(Tiles 2.2)は次のとおりです。
<tiles-definition>
<definition name="default" template="/WEB-INF/layouts/test.jspx" preparer="com.test.MenuPreparer">
</definition>
</tiles-definition>
私の内容test.jpsx
は次のとおりです。
<?xml version="1.0" encoding="UTF-8" ?>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:tiles="http://tiles.apache.org/tags-tiles"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:spring="http://www.springframework.org/tags">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<spring:url value="/scripts/jquery-1.8.1.min.js" var="jqURL" />
<script type="text/javascript" src="${jqURL}"><jsp:text /></script>
</head>
<body>
<h1>TEST!</h1>
</body>
</html>
私のservlet-context.xml
では、リソースの場所を含めました:
<resources location="/resources/scripts/" mapping="/scripts/**" />
Firefox 14.0.1 のページを表示しようとすると、エラー コンソールに次のように表示されます。
TypeError: d is undefined
http://localhost:8080/test/scripts/jquery-1.8.1.min.js
IE9 で同じページを表示すると、IE コンソールに次のメッセージが表示されました。
SCRIPT5007: Unable to get value of the property 'style': object is null or undefined
jquery-1.8.1.min.js, line 2 character 19451
JQuery は両方のブラウザーで動作しません。
しかし、同じ JQuery スクリプトをスタンドアロンの HTML (tc サーバーにデプロイされていない) に含めると、ブラウザー コンソールにエラー メッセージが表示されず、JQuery は機能しています。
Spring Web MVC + Apache Tiles + JSPX を使用するときに JQuery を機能させるには?