Berry-G / YoungCultureCenter

TEAM Young'tve jobs HOMEPAGE making project
0 stars 2 forks source link

Spring Security 게시판 글 작성하기 #123

Closed asel0joo closed 1 year ago

asel0joo commented 1 year ago

1. 게시판 작성하기(Create)


- BoardController.java
```java
//공지사항 게시판 리스트 
@GetMapping("/notice")
public String noticeBoard(Model model, SearchItem sc) {

    try {
        int totalCnt = boardService.nSearchResultCnt(sc);
        model.addAttribute("totalCnt", totalCnt);
        //총 게시글 개수 
        PageRsolver pageResolver = new PageResolver(totalCnt, sc);

        // 게시판 리스트 불러옴
        List<BoardDto> nList = boardService.nSearchSelectPage(sc);
        model.addAttribute("nList", nList);
        model.addAttribute("pr", pageResolver);     
        } catch (Exception e) {e.printStackTrace();}

    return "board/notice";
}

글쓰기



- write.jsp
```jsx
<script>
   //summernote API
  $('.summernote').summernote({
      height: 400,
      lang: "ko-KR"
    });

    //등록하기 버튼 누를 경우
  function regCheck() {
        // 게시판 유형 값이 없으면 alert창 띄우기 
        if($("#boardType option:selected").val()=="선택해주세요."){
            alert("게시판 유형을 선택해주세요.")
        }
        //title에 값이 없으면 alert창 띄우고 ,focus
        else if($("#title").val()== ""){
            alert("제목을 입력해주세요");
            document.writeForm.article_title.focus();
        }
        //contents에 값이 없으면 alert창 띄우고 ,focus
        else if($("#contents").val()==""){
            alert("내용을 입력해주세요");
            document.writeForm.article_contents.focus();
        }
        //title, contents에 값이 있으면 submit 후 alert창 띄우기 
        else if($("#title").val()!="" && $("#contents").val()!="") {
            document.writeForm.submit();
            alert("등록되었습니다.")
        }

  }
  </script>

//게시글 작성 @PostMapping("/write") public String writePage(BoardDto boardDto, Principal principal) {

    boardDto.setUser_id(principal.getName());

    try {       
        boardService.writeInsert(boardDto);

        //boardDto에서 받은 board-type이 "공지사항"이면 공지사항게시판에 insert
        if(boardDto.getArticle_Board_type().equals("공지사항") ) {
            //insert 후 공지사항 게시판으로 보여줌
            return "redirect:/board/notice";                    
        }
        //boardDto에서 받은 board-type이 "이벤트"이면 이벤트/행사 게시판에 insert
        else if(boardDto.getArticle_Board_type().equals("이벤트") ) {
            //insert 후 이벤트 게시판으로 보여줌 
            return "redirect:/board/event";
        }

    } catch (Exception e) {e.printStackTrace();}

return "redirect:/board/notice";

}


- BoardServiceImpl.java
```java
//글쓰기
@Override
public void writeInsert(BoardDto boardDto) throws Exception {
    boardDao.writeInsert(boardDto);
}

private static String namespace = "com.youngtvjobs.ycc.board.boardMapper."; //글쓰기 @Override public void writeInsert(BoardDto boardDto) throws Exception { session.insert(namespace + "writeInsert", boardDto); }


- BoardMapper.xml
```xml
<!-- 글쓰기 : article 테이블에 게시글 추가 -->
<insert id="writeInsert" parameterType="BoardDto">
    INSERT INTO article
        (article_date, article_Board_type, user_id, article_title, article_contents, article_viewcnt)
    VALUES
        (now(), #{article_Board_type}, #{user_id}, #{article_title}, #{article_contents}, #{article_viewcnt})
</insert>

글 작성하기 완료!

1) 글 목록 업데이트 완료

2) DB에 작성한 글 업데이트 완료