2016-02-19 41 views
0

我在NetBeans IDE中使用Spring開發了一個REST應用程序。 下面是相關目錄結構: project structureAngularJS模板不適用於Spring

我想角的功能集成到它,但會更願意把它作爲一個單一的應用程序,而不是單獨的角和Spring應用程序。

主文件index.html應在首頁顯示模板home.html

問題:

添加HTML文件到文件夾templates似乎並沒有在角應用工作。如果我嘗試通過Angular訪問index.htmlhome.html文件,我得到一個404錯誤,但我可以直接打開它們。

下面是這兩個文件在我的Spring應用程序控制器:

@RequestMapping("/") 
public String index() { 
    return "index"; 
} 

@RequestMapping("/home") 
public String home() { 
    return "home"; 
} 

我有自己之前寫的AngularJS代碼,我沒有任何問題。

  • 我混合了一些我不應該的東西嗎?
  • 我是否在一個單獨的文件夾中創建了所有的AngularJS代碼,遠離src/main/resources
+0

由於您可以*直接從瀏覽器訪問這些文件,請打開瀏覽器的控制檯 - 網絡選項卡 - 並比較Angular製作的請求。 –

+1

您是使用彈簧引導,還是彈簧mvc?爲什麼要爲靜態文件定義控制器? –

+0

@NikosParaskevopoulos有一些不同之處:工作請求的'Request URL'爲'localhost:8080/home',並且'Request Headers'部分沒有'Referrer'。內容長度也更短(21比306)。我想這是因爲'home.html'文件只有幾個字的文字。此外,還有兩項非工作要求。 – cst1992

回答

0

彈簧將放置在src/main/resources/static中的文件映射到應用程序的根目錄。這意味着您的src/main/resources/static/css/文件夾中的CSS文件可以通過簡單地使用/css相對路徑進行訪問。

因此,靜態資源(如CSS,Javascript,模板或圖像)應放置在static文件夾中,Angular將能夠訪問它。

此限制不會擴展到您的主要index.html文件,您可以將其放在主項目目錄或templates下。

回答採自JBNizet的評論。

相關問題