Spring Boot

[게시판 만들기 (2)] 게시글 작성_작성 페이지 이동하기

서윤-정 2024. 1. 12. 14:40

 

이제 게시글 작성 페이지를 만들어준다.

먼저 HomeController를 만든다.

 

[ HomeController ]

package test.SpringBootBoard.board.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class HomeController {
    @GetMapping("/")
    public String index(){
        return "index";
    }
}

 

 

 

 

 

 

templates 폴더에 index.html 파일도 만든다.

 

[  index.html ]

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>index</title>
</head>
<body>
<button onclick="saveReq()">글작성</button>
<a href="/board/save">글작성(링크)</a>
<button onclick="listReq()">글목록</button>
<button onclick="pagingReq()">페이징목록</button>
</body>
<script>
    //  function saveReq() {
    //
    //  }

    const saveReq = () => {
        location.href = "/board/save";
    }
    const listReq = () => {
        location.href = "/board/";
    }
    const pagingReq = () => {
        location.href = "/board/paging";
    }


</script>
</html>

 

 

 

 

 

http://localhost:8092/로 이동하면 요런 페이지가 나온다.

 

 

 

controller 폴더에 BoardController 파일도 만들어준다.

이건 메인 화면에서 버튼을 누르면 글쓰기 화면으로 이동하는 saveForm 메서드.

@RequestMapping("/board") 

이렇게 미리 위에 적어놓으면

@GetMapping할 때 ("/board/save") 이렇게 길게 쓸 필요 없어진다.

 

[ BoardController ]

package test.SpringBootBoard.board.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/board")
public class BoardController {
    @GetMapping("/save")
    public String saveForm(){
        return "save";
    }
}

 

 

 

 

다시 templates도 생성.

[ save.html ]

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>save</title>
</head>
<body>
<!-- action속성: 목적지(서버주소), method속성: http request method(get, post) -->
<form action="/board/save" method="post" enctype="multipart/form-data">
    writer: <input type="text" name="boardWriter"> <br>
    pass: <input type="text" name="boardPass"> <br>
    title: <input type="text" name="boardTitle"> <br>
    contents: <textarea name="boardContents" cols="30" rows="10"></textarea> <br>
    file: <input type="file" name="boardFile"> <br>
    <input type="submit" value="글작성">
</form>
</body>
</html>

 

 

 

 

다시 서버를 돌려서 메인페이지의 글 작성 버튼을 누른다.

http://localhost:8092/board/save 로 잘 이동되었다.