김영한 님의 스프링 입문 과정을 윈도우에서 모두 수강하고 

이번엔 mac os로 다시 복습하는 시간을 가져봅니다!

<!DOCTYPE HTML>
<html>
<head>
    <title>Hello</title>
    <meta http-equiv="Content-Type" content="text/html"; charset="UTF-8"/>
</head>
<body>
Hello
<a href="/hello">hello</a>
</body>
</html>

resources/static/index.html

경로에 index.html이라는 파일을 생성한다.

스프링 부트가 Welcome page 기능으로 index.html을 불러온 모습이다.

a href 태그로 만든 hello를 누르면 /hello를 불러오게 되는 기능을 구현해보았다.

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")
    public String hello(Model model){
        model.addAttribute("data","hello!!");
        return "hello";
    }
}

main/java/hello-spring/controller/HelloController

controller 라는 폴더를 만든 후 그 밑에 HelloController 라는 자바클래스파일을 만들었다.

웹 브라우저에localhost:8080/hello 라는 url을 입력하면,

스프링 부트의 내장 톰캣 서버가 컨트롤러 안에서 hello라는 이름에 GET 방식으로 매핑 되어있는 메서드를 찾아 호출한다

 

컨트롤러에서는 화면에 전달할 속성들을 model 이라는 객체에 담을 수 있다. model에는 속성의 이름과 그에 해당하는 속성의 값을

data , hello!!로 정했다

그러고 hello를 리턴!

 

ViewResolver의 도움으로 resources > template > hello.html 파일이 화면에 랜더링 된다

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Hello</title>
    <meta http-equiv="Content-Type" content="text/html"; charset="UTF-8" />
</head>
<body>
<p th:text="'안녕하세요. ' + ${data}" >안녕하세요. 손님</p>
</body>
</html>

Thymeleaf를 이용하여   ${data} 로 속성값을 가져오게 되었다!

"'안녕하세요. ' + {data}" 에 내가 입력한 hello!! 가 속성값으로 들어온 것을 확인할 수 있었다.!

'웹프로그래밍 > Spring 입문' 카테고리의 다른 글

6. 회원 도메인과 리포지토리 만들기  (0) 2021.06.17
5. 비즈니스 요구사항 정리  (0) 2021.06.17
4. API  (0) 2021.06.17
3. MVC와 템플릿 엔진  (0) 2021.06.16
2. 정적 컨텐츠  (0) 2021.06.16

+ Recent posts