どのようにSpring MVCのはにHomeControllerとJSP間の紛争を決めるのですか?

クリーン:

私は春のMVCの変換午前アプリを春ブートします。春アプリは、ホームコントローラがあります。

@RestController
public class HomeController {...
    ...
@RequestMapping("/login")
public String login(Principal p) {
    return "login";
    }
}

これは単に言葉のログイン」を表示する必要があります。これは、しかし、それはまた、より多くないのsrc / webappの/ WEB-INF /ビューの下にlogin.jspを持っており、これは、それが実行されたときに表示されているものであるため、無視しているようです。

私はカットし、ブートアプリIにシンプルなウェブアプリを貼り付けるとだけ言葉のログイン」を取得します。

どのように春が魔法のように、より複雑なJSP出力のための単語「ログイン」を無視するのですか?そして、どのように私はブートでこれを模倣していますか?

PS私が追加しようとしています:

<dependency> 
    <groupId>org.apache.tomcat.embed</groupId> 
    <artifactId>tomcat-embed-jasper</artifactId> 
    <scope>provided</scope> 
</dependency>

spring.mvc.view.prefix=/views/ 
spring.mvc.view.suffix=.jsp
mumpitz:

@RestControllerレンダリング返すために使用されていないJSPのを。春ブーツは単なる文字列で応答理由ですlogin以下にこれを変更しよう:

@Controller
public class HomeController {

    @RequestMapping("/login")
    public String login(Principal p) {
        //do something with your Principal if you want...
        return "login";
    }
}

あなたが他のすべての権利を設定した場合、春と呼ばれるテンプレートを探しますlogin(あなたJSP)とビューとしてこれを使用しています。

@RestController構築するために使用される春の注釈でRESTfulなWebサービス(コントローラで定義されている残り-APIエンドポイントを)。

ところで、ここで続行するとも、残念ながら、いくつかの理由が春ブーツとJSPと埋め込まれたコンテナを使用しないではなく、別のテンプレートエンジンを使用する方法についていくつかのより多くの情報を見つけることができます。

お役に立てれば!

編集:この質問へのもう一つの答えは、ビューリゾルバを言及-これは確かに重要ではないではありません!しかし、それは春ブーツとJSPとの特殊なケースのようなものです。それが権利を取得するには、この記事では、私はちょうど5月の助けを見つけました!

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=203307&siteId=1