2016-06-02 9 views
0

MvcとAngularJでSpringブートを作成しようとしています。アプリケーションのView Resolverを変更して、アプリケーションが静的なHTMLファイルの "WEB-INF/pages /"フォルダを見せるようにすることができます。今、htmlファイルに私は私がアプリケーションのResourceHandlerRegistryにlibray webjarsのクラスパスを宣言する必要がスプリングブート静的リソース

<script src="webjars/angularjs/1.5.5/angular.min.js"></script> 

が、私はこの仕事をするためにあることを知っているwebjars依存性を利用して、私のAngularJsライブラリのソースを宣言しました私の設定ファイルに私は私のコードは何とか動作します。この行を追加した後、コード

@Override 
public void addResourceHandlers(ResourceHandlerRegistry registry) { 
    registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/"); 
} 

のだけこの行を追加したが、何私は好奇心旺盛せるものはあるというのが私のHTMLファイルに次の行について

<script src="resources/js/angular/app.js"></script> 

私は春のためにWebアプリケーションのリソースフォルダの下にJavaScriptファイルを検出するためのSpring MVCアプリケーションに私達はちょうどこの

public void addResourceHandlers(ResourceHandlerRegistry registry) { 
    registry.addResourceHandler("/resources/**").addResourceLocations("/resources/"); 
} 

ようResourceHandlerRegistryのあるフォルダを宣言する必要があることに気づいたが、私は避難所」私のSpringAppのリソースフォルダを私のSpringブートのResourceHandlerRegistryに宣言しましたが、アプリケーションには私のapp.jsファイルが表示され、AngularJsコードはまだ動作しています。ここではどのように春ブーツのWebの静的な作品だ私のアプリケーションのファイル構造

src |--main |--java |--resources |--webapp |--resources |--js |--angular |--app.js |--WEB-INF |--index.html

答えて

3

です。デフォルトでは、js、image、cssをresources/staticに入れる必要があります。 thymeleafを使用している場合は、テンプレートをリソースに配置します。サンプルは以下の通りです。

enter image description here

これは、あなたが呼び出す方法です..実際に/リソースに行く../ことに注意してください:Webアプリケーションに位置 リソース/:OPは、ファイル構造を与えた後

<!DOCTYPE HTML> 
<html xmlns:th="http://www.thymeleaf.org"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <link rel="stylesheet" th:href="@{/css/bootstrap.min.css}" 
    href="../../css/bootstrap.min.css" /> 
    <link rel="stylesheet" th:href="@{/css/signin.css}" 
    href="../../css/signin.css" /> 
</head> 

UPDATEリソースはスプリングmvcのデフォルトの静的フォルダです(スプリングブートではありません - this blogを参照)。

春ブーツの静的フォルダが( Spring IO Blog参照)に位置している

:私が編集した

  • /META_INF /リソース
  • /静的
  • /リソース
  • /公共
+0

私の質問を明確にするために、私は自分のアプリケーションにthymleafを使わず、webappフォルダを作成しました。私が参照しているresourcesフォルダは、webappフォルダの下にあるもので、 'src/main/resources'の下のresourcesフォルダではありません – anathema

+0

hemm ..それは奇妙です。 Springブートで知られているデフォルトの静的フォルダは、/ META-INF/resources /、/ resources、/ static、/ public ...です。https://spring.io/blog/2013/12/19/serving-staticを参照してください。 -web-content-with-spring-boot – Rudy

+0

私は答えを見つけました。webapp/resourcesはspring mvcのデフォルトの静的フォルダで、spring bootはありません。参照してください:http://www.mkyong.com/spring-mvc/spring-mvc-how-to-include-js-or-css-files-in-a-jsp-page/ – Rudy

関連する問題