我正在使用spring和tiles創建應用程序。我有一個通用的模板,所有的js和css都被加載。無論如何,只有某些視圖需要一些腳本,所以我只在需要它們的地方放置它們。但是,這是行不通的腳本標記不起作用
有一些代碼
一般TEMPLATE.XML
<tiles-definitions>
<definition name="template.general" template="/WEB-INF/view/templates/general.jsp">
<put-list-attribute name="styles">
<add-attribute value="/media/css/materialize.css" />
<add-attribute value="/media/css/style.css" />
<add-attribute value="/media/css/custom-style.css" />
</put-list-attribute>
<put-list-attribute name="scripts">
<add-attribute value="/media/js/jquery-1.11.2.min.js" />
<add-attribute value="/media/js/materialize.js" />
<add-attribute value="/media/js/plugins/perfect-scrollbar.min.js" />
<add-attribute value="/media/js/plugins.js" />
</put-list-attribute>
</definition>
general.jsp
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"%>
<%@ taglib prefix="s" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<tiles:importAttribute name="styles"/>
<tiles:importAttribute name="scripts"/>
<tiles:importAttribute name="page_scripts" ignore="true"/>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<c:forEach var="css" items="${styles}">
<link rel="stylesheet" type="text/css" href="<c:url value="${css}"/>" media="screen,projection">
</c:forEach>
<c:forEach var="script" items="${scripts}">
<script src="<c:url value="${script}"/>"></script>
</c:forEach>
<c:forEach var="script" items="${page_scripts}">
<script src="<c:url value="${script}"/>"></script>
</c:forEach>
</head>
<body>
<div id="main">
<div class="wrapper">
<section id="content">
<tiles:insertAttribute name="body" />
</section>
</div>
</div>
</body>
瓦。 xml
<tiles-definitions>
<definition name="solution/list" extends="template.general">
<put-attribute name="body" value="/WEB-INF/view/solution/list.jsp" />
<put-list-attribute name="page_scripts">
<add-attribute value="/media/js/plugins/jquery.dataTables.js" />
</put-list-attribute>
</definition>
</tiles-definitions>
的List.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<table id="solutionList" class="responsive-table display" cellspacing="0">
<thead>
<tr>
<th>Name</th>
<th>Descripción</th>
</tr>
</thead>
<tbody>
<c:forEach var="solution" items="${solutions}">
<tr>
<td>${solution.solutionName}</td>
<td>${solution.description}</td>
</tr>
</c:forEach>
</tbody>
</table>
<script>
$('solutionList').dataTable({
responsive : true
});
</script>
爲什麼當我運行該應用程序中的的List.jsp腳本不加載?另外,chrome devtools標誌着'加載資源失敗:服務器響應狀態爲404'。
所以頁面不存在,如果你有404錯誤,也許壞道路? – Grisza
我的意思是,頁面加載正確,但不是腳本。而Chrome devtools僅在Chrome中標記了僅有該錯誤 –
的腳本行?嘗試其他瀏覽器 – Grisza