Controller에서 코드를 작성해서
/board/write/ 에서 작성했던 데이터가
board/wirtepro로 잘 넘어오는지 먼저 확인하기
1. boardWritePro() 작성
public String boardWritePro() {
}
지금 이 부분을 작성하고 있는데, 여기서 Pro라는 것은 Process를 의미한다
2. boardwrite.html 파일 들어가서, form에서 넘어가는 url 이름 바꾸기
"/board/writepro"로 바꿔주면 됨
HTML에서 "/board/writepro"라고 이름을 바꿔줬음
3. PostMapping 작성하기
PostMapping에서 넘겨주는 주소가
HTML에서 작성했던 주소와 일치해야한다. ("/board/writepro")
package com.study.board.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class BoardController {
// 안되면 ResponseBody 추가해보기
@GetMapping("/board/write/")
public String boardWriteForm(){
return "boardwrite";
}
@PostMapping("/board/writepro")
public String boardWritePro() {
return "";
}
}
4. 괄호 안에 매개변수 받아주기
public String boardWritePro(String title, String content) {
return "";
}
5. 화면에 print 해줄 함수 작성하기
sout + tab을 누르면 println 함수가 쉽게 나온다
package com.study.board.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class BoardController {
// 안되면 ResponseBody 추가해보기
@GetMapping("/board/write/")
public String boardWriteForm(){
return "boardwrite";
}
@PostMapping("/board/writepro")
public String boardWritePro(String title, String content) {
System.out.println("제목 : "+title);
System.out.println("내용 :"+content);
return "";
}
}
6. 확인하기
① 먼저 코드 다시 실행
② 로컬 호스트 들어가서 정보 입력하기
③ 아직 /board/writepro 페이지가 없기 때문에 나오는 오류라서, 이건 신경 안써도 된다.
④ IntelliJ로 돌아가서,
입력했던 값이 잘 출력 되었는지 결과 확인해보기
▷ boardwrite 코드
더보기
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>게시물 작성 폼</title>
</head>
<style>
.layout{
width : 500px;
margin : 0 auto;
margin-top : 40px;
}
.layout input, textarea {
width : 100%;
box-sizing : border-box
margin-top : 10px;
}
.layout textarea {
width : 100%;
margin-top : 10px;
min-height : 300px;
}
</style>
<body>
<div class = "layout">
<!-- action은 이 데이터들을 어디로 보내줄거냐-->
<form action="/board/writepro" method="post">
<input name="title" type="text">
<textarea name="content"> </textarea>
<!-- 이 버튼의 역할은 데이터를 전송하는 역할을 한다-->
<button type="submit"> 작성 </button>
</form>
</div>
</body>
</html>
▷ boardController 코드
더보기
package com.study.board.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class BoardController {
@GetMapping("/board/write/") // localhost:8080/board/write로 접근하면, 이 html 문서를 보여주겠다는 뜻이다
public String boardWriteForm(){
return "boardwrite";
}
@PostMapping("/board/pro")
public String boardWritepro(String title, String content){
System.out.println("제목:" + title);
System.out.println("제목:" + content);
return "";
}
@GetMapping("/")
@ResponseBody
public String main(){
return "Hello World";
}
}
▷ Reference
더보기
1. 한코딩 [스프링 부트] 게시판 무작정 따라하기 : https://www.youtube.com/watch?v=frI5CoZe-vE