2017-10-16 79 views
1

我經歷了大部分有關從jsp頁面訪問css和js的SO問題,但尚未找到解決方案。 我能夠從瀏覽器訪問我的html頁面,css和js,所以spring能夠正確映射我所有的資源,但是我的html頁面沒有訪問我的css和js。無法在spring maven項目中從html訪問css和js

這裏是我的目錄結構:

src/main/webapp/static/css/app.css 
    src/main/webapp/static/js/fieldNamesCntrl.js 
    src/main/webapp/WEB-INF/views/docView.html 

我的servlet包含:

<mvc:annotation-driven /> 
    <mvc:resources location="/WEB-INF/views/" mapping="/views/**" /> 
     <mvc:resources location="/static/" mapping="/static/**" /> 

我的web.xml中包含:

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

    <servlet> 
    <servlet-name>auth</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
    <servlet-name>auth</servlet-name> 
    <url-pattern>/auth/*</url-pattern> 
    </servlet-mapping> 

EDIT1 - 包括我的完整的HTML頭 這是我如何在html中包含我的css和js:

<!doctype html> 
    <html lang="en" ng-app="myApp"> 
    <head> 
    <meta charset="utf-8"> 
    <title>My Page</title> 
     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css"> 
     <link rel="stylesheet" href="/static/css/app.css" type="text/css" /> 
     <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script> 
     <script src="/static/js/fieldNamesCntrl.js" type="text/javascript"> 
     </script> 

請建議額外的標題添加到HTML或如果我可以使用POM添加angularjs和引導CSS。 不知道我錯過了什麼!

+1

你的截圖沒有顯示出來 – dimwittedanimal

回答

0

我能夠調試這個。問題是我在html頭文件中給出的css和js的路徑。在部署應用程序時,在與.html相同的文件夾中查找/ static/css和/ static/js,即/ static中的/ static被附加到/ views文件夾中。

下面的代碼工作:

 <link rel="stylesheet" href="../static/css/app.css" type="text/css" /> 
    <script src="../static/js/fieldNamesCntrl.js" type="text/javascript"> 

這可以確保正確的CSS和JS文件夾中查找。 謝謝!