WEB/SpringBoot

[SpringBoot] 8.1 Processing of writing text _ /board/write/ 에서 작성했던 데이터가 board/wirtepro로 잘 넘어오는지 먼저 확인하기

bay07 2024. 3. 9. 07:59

  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

 

 

Ch8.1_board.zip
0.14MB