无法在html中导入js文件

时间:2016-05-05 22:44:30

标签: javascript html angularjs eclipse import

我一直在这里寻找已回答的问题,但我无法找到合适的问题。尝试在我的html中导入我的javascript文件时遇到问题(我在Eclipse Mars 2.0中编码)。我正在使用apache磁贴创建模板,而且项目是(试图)在Angularjs中构建的。在这里,我附上一些代码和截图。

我的html看起来像这样,在第一种情况下,$ {contexto}值是" home" 的

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"%>

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title><tiles:insertAttribute name="title" ignore="true" /></title>

        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">

        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular.js"></script>
        <script src="http://angular-ui.github.io/ui-router/release/angular-ui-router.js"></script>

        <script src="js/${contexto}/${contexto}-app.js"></script> 
        <script src="js/${contexto}/${contexto}-service.js"></script> 

    </head>

    <body>

            <tiles:insertAttribute name="header" />
            <tiles:insertAttribute name="body" />
            <tiles:insertAttribute name="footer" />

    </body>
</html>

我的项目是这样构建的 project structure

我在部署它时遇到的错误就是这个: chrome error

提前致谢!!!

编辑我认为问题与servlet配置有关...如果我在web.xml中注释servlet配置,我可以访问localhost:8080 / web / js / home / home -app.js文件,我有&#34; Hello world&#34;表单index.htm但无法访问localhost:8080 / web / home。另一方面,如果我解除它们,我无法访问js文件,但我可以访问localhost:8080 / web / home。这是我的web.xml,如果它有帮助...

   ...

    <!-- ==============Spring============= -->

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            /WEB-INF/applicationContext.xml
        </param-value>
    </context-param>

     <listener>
        <listener-class>
            org.springframework.web.context.ContextLoaderListener
        </listener-class>
    </listener>

    <!-- Processes application requests -->
    <servlet>
        <servlet-name>appServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/servlet/servlet-config.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>appServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>  

    <context-param>
        <param-name>webAppRootKey</param-name>
        <param-value>webapp.web</param-value>
    </context-param>

    </web-app>

解决方案我可以解决这个问题,将jsp中的资源定义为spring资源而不是传统的...标签。

2 个答案:

答案 0 :(得分:1)

您的script代码正在尝试根据您的网络服务器访问不存在的文件。根据您的文件结构的屏幕截图,网址的js/home/home-app.jsjs/home/home-service.js部分似乎是正确的,因此问题就在此之前。

  • 此项目是否位于文档根目录中,或者是否存在它所在的子目录?
  • 如果在js之前添加斜杠会怎样?

答案 1 :(得分:0)

对不起,我建议你看看这个关于Dlobal的演示:

但是

  • 我认为这个全局变量在执行时存在错误,js文件无法调用.html