프로젝트/게시판 0부터 10까지

[게시판] 글쓰기

필리힐리 2022. 9. 8. 21:37

글 목록 조회 화면
글 목록 조회 화면 소스

 

글쓰기는 글 목록 조회 화면에서 시작한다.

글쓰기 버튼을 누르면 get 방식으로 주소 /board/add에 매핑된다.

 

Controller

 

가독성을 위해 글쓰기 페이지로의 이동과 글 입력 기능을 같은 주소로 매핑하고 메소드를 통해 이를 구분한다.

 

스프링에서 주소를 매핑하는 어노테이션은 @RequestMapping, @GetMapping, @PostMapping 3가지가 존재한다.

- @RequestMapping : 메소드 상관 없이 매핑

- @GetMapping : GET 메소드만 매핑

- @PostMapping : POST 메소드만 매핑

 

<a> 태그의 href는 GET 메소드로만 데이터를 보내므로 글쓰기 버튼을 눌렀을 때 @GetMapping 어노테이션이 달린 moveToAddForm 메소드와 매핑된다.

 

add.html

 

th:field는 원래 개발자가 작성해야하는 id, name을 field 안에 있는 키 값으로 자동 매핑해준다.

th:object는 form 데이터를 하나의 객체로 매핑해준다.

 

action 안에 이동할 주소를 넣어야하지만 동일한 주소에 메소드만 다르기 때문에 아무것도 입력하지 않는다.

등록 버튼을 누르면 /board/add 주소로 POST 메소드 형식으로 이동한다.

 

 

등록 버튼을 누른 뒤 Controller에서 디버깅을 찍어보면 form 데이터가 vo에 잘 들어간 것을 확인할 수 있다.

 

Mapper
Controller

 

해당 데이터를 DB에 매퍼를 통해 잘 넣어주고 redirect를 통해 리턴해준다.

 

 

리다이렉트를 통해 Status Code 302를 받았고 목록 페이지로 잘 이동한 걸 확인할 수 있다.