공부/Spring

[Spring] 게시판 만들기 : 글작성

students 2022. 9. 8. 00:57

1) UserController.java

1
2
3
4
    @RequestMapping("writeContentPage")
    public String writeContentPage(@ModelAttribute("boardVo") BoardVo vo) {
        return "board/writeContentPage";
    }
cs

 

2) writeContentPage.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
                <form:form action="./writeContentProcess" modelAttribute="boardVo" id="writeContentForm">
                    <div class="row mt-2">
                        <div class="col">
                            <form:input type="text" class="from-control" path="board_title"/>
                        </div>
                        <div class="col my-auto"><form:errors path="board_title" id="error_message" /></div>
                    </div>
                    
                    <div class="row mt-2">
                        <div class="col">
                            <form:textarea onkeyup="cmaTextareaSize('floatingContent', 200);" class="form-control"
                                    id="floatingContent" path="board_content" />
                        </div>
                        <div class="col my-auto"><form:errors path="board_content" id="error_message" /></div>
                    </div>
                    
                    <div class="row mt-2">
                        <div class="col">
                            <div align="left">
                                <input type="radio" name="board_secret" value="Y" checked="checked">비밀글로 설정
                                <input type="radio" name="board_secret" value="N">공개글로 설정
                            </div>
                        </div>
                    </div>                    
                    
                    <div class="row mt-1">
                        <div class="col"></div>
                        <div class="col"></div>
                        <div class="col">
                            <input type="submit" class="btn btn-dark" style="float: right;">
                        </div>
                    </div>
                </form:form>
cs

 

3) UserController.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
@RequestMapping("writeContentProcess")
    public String writeContentProcess(@Valid BoardVo param, BindingResult result, HttpSession session) {
        if (result.hasErrors()) {
            // 에러를 List로 저장
            List<ObjectError> list = result.getAllErrors();
            for (ObjectError error : list) {
                System.out.println(error);
            }
            return "board/writeContentPage";
        }
        
        UserVo sessionUser = (UserVo) session.getAttribute("sessionUser"); // (중요)
        int userNo = sessionUser.getUser_no();
        param.setUser_no(userNo);
        
        System.out.println("user_no : "+param.getUser_no()+"");
        
        boardService.insertBoard(param);
        
        return "redirect:./mainPage";
        
    }
cs

 

4) UserService.java

1
2
3
    public void insertBoard(BoardVo param) {
        boardSQLMapper.insertBoard(param);
    }
cs

 

5) UserSQLMapper.java

1
2
3
    /* 게시글 작성 쿼리 */
    
    public void insertBoard(BoardVo param);
cs

 

6) UserSQLMapper.xml

1
2
3
4
5
6
7
8
9
10
11
12
    <insert id="insertBoard">
        INSERT INTO EXAMPLE_BOARD VALUES(
            Example_Board_seq.nextval,
            #{user_no},
            #{board_title},            
            #{board_content},
            0,
            #{board_secret},            
            SYSDATE,
            SYSDATE
        )
    </insert>
cs

 

7) 실행화면