0

次のように静的リソース ハンドラーを定義する Spring MVC アプリがあります。

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
    if (resourceIdentifier != null) {
        registry.addResourceHandler("/admin-ui/**", "/admin-ui/").addResourceLocations(
                "file:" + resourceIdentifier.getResourcesLocation() + "/");
    }
}

HandlerInterceptor(簡潔にするために、宣言の残りの部分を省略しました。)

さて、アプリのメイン エントリ ポイントは次のとおりです。

https://foo.mysite.com/admin-ui/index.html

代わりに、エントリ ポイントを次のようにします。

https://foo.mysite.com/admin-ui

現在、これにより 404 エラーが発生します。これを有効にする最も簡単な方法は何ResourceHandlerRegistryですか?

4

1 に答える 1

0

部分的に機能する次のコントローラーを追加しました。

@Override
public void addViewControllers(ViewControllerRegistry registry) {
    registry.addViewController("admin-ui").setViewName("/admin-ui/index.html");
}

css、js、テンプレート ファイルなどの他のアセットが index.html に対して相対的にアクセスされていたため (つまり、admin-ui/パスの一部として no を使用)、アプリにいくつかの変更を加える必要がありました。これをサーバー ルートへの絶対パスに変更する必要があったため、たとえば index.html では次のようになります。

<link href="css/bootstrap.min.css" rel="stylesheet">

これになりました:

<link href="/admin-ui/css/bootstrap.min.css" rel="stylesheet">

アプリ内のすべての URL に対してこれを行った後、index.html.

于 2013-09-12T21:06:12.027 に答える