2014-02-28 79 views
9
一个JSP页面

外部JS文件我有一个春天MVC应用程序在哪里我的主页,我需要使用JavaScript文件。我尝试包含文件是这样的:如何包括

<script type="text/javascript" src="js/index.js"></script> 

,但是当我运行的应用程序,系统的行为似乎没有脚本运行。 T也试试这个:

<script type="text/javascript" src="<c:url value='js/index.js'/>"></script> 

但结果是一样的。有人知道为什么会发生这种情况?

PS:我的整个页面的代码是:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
    <title>HorarioLivre</title> 

    <script src="http://code.jquery.com/jquery-2.1.0.min.js"></script> 
    <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js"></script> 
    <script type="text/javascript" src="js/index.js"></script> 

    <link rel="stylesheet" href="css/style-main.css"> 
    <link rel="stylesheet" href="css/style-popup.css"> 
</head> 
<body> 
    <header> 
    <div class="container"> 
     <h1><a href="#">HorarioLivre</a></h1> 
     <nav> 
     <ul> 
      <li><a href="listagem_evento.html" class="icon evento">Eventos</a></li> 
      <li><a href="cadastra_horario.html" class="icon horario">Cadastrar Horarios</a></li> 
      <li><a href="listagem_horario.html" class="icon horario">Listar Horarios</a></li> 
      <li><a href="listagem_usuario.html" class="icon usuario">Usuarios</a></li> 
      <li><a href="#">${usuario.nome}</a> 
      <ul> 
       <li><a href="usuario_perfil.html" class="icon perfil">Perfil</a></li> 
       <li><a href="usuario_config.html" class="icon settings">Configura&ccedil;&otilde;es</a></li> 
       <li><a href="usuario_logoff.html" class="icon logout">Sair</a></li> 
      </ul> 
      </li> 
     </ul> 
     </nav> 
    </div> 
    </header> 
    <div id="results"> 
     <a href="#" id="close">Fechar</a> 
     <div id="content"></div> 
    </div> 
</body> 
</html> 

脚本应该在一个弹出窗口打开我的子页面,但它们在浏览器窗口中打开。

**更新1 **

我index.js是:

$(document).ready(function(){ 
    setupPopup(); 
}); 

function setupPopup() { 
    $('a').click(function() { 
     $('#content').load($(this).attr('href')); 
     $('#container').append('<div id="cover">'); 
     $('#results').fadeIn(500); 
     popupPosition(); 
    }); 

    $('#close').click(function() { 
     $('#results').fadeOut(100); 
     $('#cover').remove(); 
    }); 

    $(window).bind('resize', popupPosition); 
} 

function popupPosition() { 
    if(!$("#results").is(':visible')){ return; } 

    $("#results").css({ 
     left: ($(window).width() - $('#results').width())/2, 
     top: ($(window).width() - $('#results').width())/7, 
     position:'absolute' 
    }); 

    $('#results').draggable(); 
} 
+2

你有想过吗? –

回答

3

,但是当我运行的应用程序,系统的行为好像没有 脚本运行。

这是因为浏览器无法从指定位置加载javascript'index.js'。如果您打开浏览器控制台并转到“网络”选项卡,则会看到404(未找到资源)。您无法以这种方式在JSP文件中指定JavaScript的相对URL。

您需要提供您的文件夹结构(其中index.js位于您的项目),你是如何配置的web.xml。但是,如果你尝试以下方法,它肯定会工作:

<script type="text/javascript" src="${pageContext.request.contextPath}/js/index.js"></script>

然后保持“JS”包含“index.js”在同一级别为“WEB-INF”文件夹。

0

检查索引文件的路径,然后确保该代码是correct.I认为js的是folder.Post index.js代码。

+0

文件index.js位于文件夹WebContent内的calles js文件夹中。在这个相同的文件夹中,有我的文件夹WEB-INF,它位于我的jsp页面,在我的项目中由DispatcherServlet从Spring MVC中引用,与我的应用程序中的所有其他页面(包括从此页面链接的页面) 。 ANYWAY,我将添加我的JavaScript代码中的代码。 –

+0

地方与JSP和编辑到<脚本类型=“文/ JavaScript的” SRC =“index.js”>同一个文件夹的索引文件只是为了确保该路径是没有问题的。 –

+0

好的,我尝试把indes.js放在与jsp相同的文件夹中,并放在我的WebContent /(我正在开发一个来自eclipse的动态Web项目)文件夹js /中,但是它们都不工作。怪异的一部分是whem我删除行:** <脚本类型=” 文本/ JavaScript的” SRC = “JS/index.js”> **和包括一个javascript函数直接在代码中执行,脚本正常执行。 –