脚本标记不起作用

时间:2016-06-17 23:30:48

标签: javascript java spring jsp tiles

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

tile.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'。

1 个答案:

答案 0 :(得分:0)

我认为并且看到你没有选择表格

$('solutionList').dataTable({ responsive : true });

中没有$('#solutionList').dataTable({ responsive : true });

如此正确到EVar = Worksheets("Opener").Range("A" & counter).Value