2016-06-17 51 views
0

我正在使用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'。

+0

所以頁面不存在,如果你有404錯誤,也許壞道路? – Grisza

+0

我的意思是,頁面加載正確,但不是腳本。而Chrome devtools僅在Chrome中標記了僅有該錯誤 –

+0

的腳本行?嘗試其他瀏覽器 – Grisza

回答

0

我想看看你沒有選擇表

你沒有#$('solutionList').dataTable({ responsive : true });

所以正確的$('#solutionList').dataTable({ responsive : true });

+0

即是。謝謝 –

+0

只是一個錯字,或者你沒有注意到,沒有問題,我希望你減少錯誤 – Grisza