승띵이의 개발일지
[Spring Boot] 어노테이션 활용 (주소 설정 & HTML 연동) 본문
어노테이션(@Controller, @RequestMapping) 활용
어노테이션 중 @Controller, @RequestMapping를 활용하여 주소(http://Localhost:port/.../...)를 설정할 수 있다.
어노테이션에 대한 자세한 설명은 https://myung-it.tistory.com/14 참고
[Spring Boot] 어노테이션(Annotation)
어노테이션(Annotation) 어노테이션은 후술하는 클래스, 메서드, 변수 등의 상태나 속성을 표시하기 위해 사용한다. @Deprecated [Class | Method] : 해당 클래스 혹은 메서드가 더 이상 사용될 수 없음을 의
myung-it.tistory.com
package com.smchoi.study_web.controllers;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller(value = "com.smchoi.study_web.controllers.HomeController")
//Controller 중복 방지를 위해 패키지 주소를 값으로 입력
@RequestMapping(value = "/") //주소에 클래스에 붙은 Mapping 이 오고
public class HomeController {
@RequestMapping(value = "/") //메서드에 붙은 Mapping이 온다. ex)http://localhost:8080/home/index
public ModelAndView getIndex() {
ModelAndView modelAndView = new ModelAndView("home/index");
//tamplates의 home 파일의 index.html을 의미한다.
modelAndView.addObject("message", "반갑티비");
//html 파일에서 활용 가능(동적으로 활용가능)
return modelAndView;
}
}
HTML 연동
HTML을 연동하기 위해서는 타임리프(Thymeleaf)를 사용한다.
타임리프에 대한 자세한 설명은 https://myung-it.tistory.com/16 참고
[Spring Boot] 타임리프 (Thymeleaf)
타임리프(Thymeleaf) 타임리프(Thymeleaf)는 동적인 HTML 문서를 만들고 이를 컨트롤러와 연결시킬 수 있도록하는 템플릿 엔진의 일종이다. 타임리프 문법을 사용하는 모든 HTML 파일 내의 태그에는 반
myung-it.tistory.com
@RequestMapping(value = "/")
public ModelAndView getIndex() {
ModelAndView modelAndView = new ModelAndView("home/index");
modelAndView.addObject("message", "반갑티비");
return modelAndView;
}
위 코드에서 ModelAndView 객체를 생성하여 tamplates의 home 파일의 index.html 파일에 접근할 수 있다.
modelAndView.addObject() 메서드를 활용하여 modelAndView.addObject(속성 이름, 속성 값)을 지정하여 HTML 파일에서 동적으로 활용 가능하다.
<!doctype html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Home</title>
</head>
<body>
<h1 th:text="${message}"></h1> <!--타임리프 문법으로 땡겨오기-->
<h1 th:text="${3 + 5 * 1}"></h1> <!--이런 연산도 가능-->
</body>
</html>
실행 결과
위 코드들을 실행시키고 http://localhost:8080/에 접속하면 성공적으로 실행된 것을 확인할 수 있다.
'언어 > Spring Boot' 카테고리의 다른 글
[Spring Boot / 문제] 어노테이션 활용 (Add, Multiply 주소 & HTML 연동) (0) | 2022.10.25 |
---|---|
[Spring Boot / Web] 웹 프로젝트 만들기 (0) | 2022.10.25 |
[Spring Boot] 타임리프 (Thymeleaf) (0) | 2022.10.25 |
[Spring Boot] 의존성 (Dependency) (0) | 2022.10.25 |
[Spring Boot] 어노테이션(Annotation) (0) | 2022.10.25 |