[Spring]ビューの環境設定

12229 ワード

YouTubeの03 Viewを見て、使用している内容を整理します。


本人はすでにspring initializerを通じてhello-springというプロジェクトを完成しました.
金英漢の講義プロジェクトの作成を参考にすればいい.
この文書に従って、Viewの簡単な環境設定が完了すると、次のプロジェクト構造が作成されます.

index.htmlを使用したWelcomeページの作成


まずsrc/main/resources/staticでインデックスを作成します.htmlを次のようにします.
<!DOCTYPE html>
<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
    <title>Welcome Page</title>
</head>
<body>
<p>Hello, This is welcome page</p>

<a href="/hello">hello</a>
</body>
</html>
上のようにハーモニーを打つ必要はありません.
ただ.
<a href="/hello">hello</a>
その部分は後で残しておきましょう.
Spring Bootは、Welcome Pageを反映するために最初にstaticフォルダにインデックスされます.htmlがあるかどうか確認しておきます.あればWelcomePageとして選びます.
staticフォルダにない場合は、templatesフォルダにindexを作成します.htmlがあるかどうかを確認している場合は、Welcome Pageとして選択します.
「templates」フォルダにもない場合は、SpringBootのホームページをWelcomePageに設定します.
詳しくはSpring公式サイトのドキュメントで確認しましょう.

コントローラの作成


コントローラが作成されます.
まずsrc/main/java/hellospringでcontrollerというパッケージを作成します.そのパッケージにHelloControllerが入っていますJavaを作成します.
次に、次のコードを作成します.
package hello.hellospring.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class HelloController {

    @GetMapping("hello") // web application에서 /hello는 이 method를 호출한다. (http://localhost:8080/hello)
    public String hello(Model model){
        model.addAttribute("data", "hello!!~.~");
        return "hello"; // resources/templates/hello.html로 매칭!
    }
}
@Controllerと@GetMapping(「hello」)コメントを作成すると、自動的にインポートされるクラスが推奨されます.
@GetMapping("hello")では、
入力~/helloは、このメソッドを呼び出すことを示します.
hello関数のString戻り値「hello」はtemplatesフォルダの「hello」です.これはhtmlを再生することを意味します.上のコードではurlを表す入力値(hello)は実際のhtmlファイルの名前(hello)と同じですが、完全に同じである必要はありません.
また,この方法のモデルで指定したhello.htmlにデータを渡すことができます.
上のコードでは、ここに「data」というところに「hello!!~~~」というvalue伝達を入れます.

hello.htmlの作成


hello to src/main/resources/templates.htmlという名前のファイルを作成したら、次のコードを書きます.
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>

    <title>hello.html</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p th:text="'안녕하세요. ' + ${data}">안녕하세요 손님</p>
</body>
</html>
ここでpタグのthは前述の
<html xmlns:th="http://www.thymeleaf.org">
thymeleafの構文を使用するために.
pラベルのテキストには${data}があり、これはさっきコントローラを介して渡された「data」を意味します.

Webアプリケーションの実行


このように記述すると、実行後にlocalhost:8080を検索する.
index.htmlはWelcomePageとして表示されます.

ここでハイライトした「hello」をクリックします.
http://localhost:8080/hello
移動先
HelloControllerがurlをチェックしている場合は、helloメソッドを実行してデータを渡し、helloします.htmlが表示されます.

「data」で伝わる「hello!!~~~」がいい表現です.