私は、bootstrapとjspを使ってスプリングブートmvcアプリケーションを作っています。私のアプリは他のマッピングではうまく動作していますが、url localhost:8080/admin/addSomethingブートストラップの代わりにシンプルなhtmlページをレンダリングすると、ページのスタイルを指定できますか?以下 は私が、私はちょうどGoogleのオープンソースのテンプレートをコピーして、それを使ってブートストラップに新しいです私の静的リソーススプリングブート、ブートストラップはブートストラップスタイルのページを描画していません
src/main/resources/static/public/css/customstyle.css/...
src/main/resources/static/public/lib/bootstrap/css/...
src/main/resources/static/public/lib/bootstrap/js/...
src/main/resources/static/public/lib/bootstrap/images/...
src/main/resources/static/public/lib/bootstrap/vendor/bootstrap/
src/main/resources/static/public/lib/bootstrap/vendor/font-awesome/...
src/main/resources/static/public/lib/bootstrap/vendor/jquery/...
のパスです。
問題に対処するのに長い時間を過ごした後、私は
spring.resources.add-mappings=true
spring.resources.static-locations=/resources/
を提出私のapplication.propertiesにでこれを入れてみましたが、私はその後、
spring.resources.static-locations=/resources/
を追加したとき、私の他のページも停止しますブートストラップスタイルを示す
私もこれを私の主なアプリケーションクラスで試しました
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
}
何も問題なく動作しているようですが、いずれかの解決策を提案できますか?
私はローカルホストへのパスをマップするとき、それは目的の外観を示しているように、ページ上のマイJSP/HTMLコードは、罰金です:8080/addSomething
非常に良い夕方のサー、返信いただきありがとうございます。 – user2245151
はい私のリソースはこのようにリンクされています../ public /...../ style.css。いくつかはとしてリンクされています。また、リンクhrefでリンクされているものもあります。しかし、rootやroot/adminのような第1レベルのマッピングでうまくいっているのはなぜですか。とにかく私のjspsを適切にリンクすることでもう一度試してみます –
user2245151
アプリケーションは相対パスからリソースを取得しようとします。例えば。リンク「abc/xyz.css」の場合、最初のレベルにある場合、相対パスは「http:// localhost:8080/abc/xyz.css」になります。しかし、 "http:// localhost:8080/admin"にいる場合、パスは "http:// localhost:8080/admin/abc/xyz.css"になりますが、これは間違っています。だから、あなたはいつもそのようなリンクを/で始めるべきです。 – Sanjay