ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • MyWeb
    SPRING 2022. 2. 15. 16:59

    게시판 글 등록부터 시작했습니다~!

     

    글 작성 html에 등록 form 양식을 적어주고,

    밑에 jsp로 스크립트를 열었습니다.

     

    게시판 글 등록

    <script>
     
    const $registBtn = document.getElementById('registBtn');
    $registBtn.onclick =function(){
    if(document.registForm.writer.value === ''){
    alert('작성자는 필수 항목입니다.');
    document.registForm.writer.focus();
    return; //강제 종료
    } else if(document.registForm.title.value === ''){
    alert('제목은 필수 항목입니다.');
    document.registForm.title.focus();
    return; //강제 종료
    }else if(document.registForm.content.value === ''){
    alert('내용은 필수 항목입니다.');
    document.registForm.content.focus();
    return; //강제 종료
    }else{
    document.registForm.submit();
    }
    }
     
    /*
    $(function(){
    $('#registBtn').click(function(){
    if($('input[name=writer]').val() === ''){
    alert('작성자는 필수 항목입니다.');
    $('input[name=writer]').focus();
    }
    });
    });
    */
     
    $('#listBtn').click(function(){
    if(confirm('목록으로 돌아가시겠습니까?')){
    location.href='<c:url value="/freeBoard/freeList" />'
    } else return;
    });
    </script>

    mapper에는

    <insert id="regist">
    INSERT INTO freeboard(bno, title, writer, content)
    VALUES(freeboard_seq.NEXTVAL, #{title}, #{writer}, #{content})
    </insert>
     
    controller에는
     
    //글 등록 처리
    @PostMapping("/registForm")
    public String registForm(FreeBoardVO vo, RedirectAttributes ra) {
    service.regist(vo);
     
    ra.addFlashAttribute("msg", "정상 처리되었습니다.");
     
    return "redirect:/freeBoard/freeList";
    }

    service에는

    @Override

     

    public void regist(FreeBoardVO vo) {
    mapper.regist(vo);
    }
    를 작성해 줍니다!

     

    게시물 수정, 삭제

    <script>
     
    //목록 이동 처리
    $(function() {
    $('#listBtn').click(function() {
    location.href="<c:url value='/freeBoard/freeList' />"
    });
    });
     
     
    //수정 버튼 이벤트 처리
     
    const $updateBtn = document.getElementById('updateBtn');
    $updateBtn.onclick = function(){
    if(document.updateForm.title === ''){
    alert('제목은 필수 항목입니다.');
    document.updateForm.title.focus();
    return;
    }else if(document.updateForm.content === ''){
    alert('내용은 필수 항목입니다.');
    document.updateForm.content.focus();
    return;
    } else{
    document.updateForm.submit();
    }
    }
    }
     
    //삭제 이벤트 처리
     
    $('#delBtn').click(function(){
    if(confirm('정말 삭제하시겠습니까?')){
    $('form[name=updateForm]').attr('action','<c:url value='/freeBoard/freeDelete" />)
    }
    });
     
    </script>
     
    mapper에는
    <update id="update">
    UPDATE freeboard
    SET title = #{title}, content = #{content}, updatedate = sysdate
    WHERE bno = #{bno}
    </update>
     
    <delete id="delete">
    DELETE FROM freeboard
    WHERE bno = #{bno}
    </delete>
     
    service에는
     
    @Override
    public void update(FreeBoardVO vo) {
    mapper.update(vo);
    }
    @Override
    public void delete(int bno) {
    mapper.delete(bno);
    }
     
    완성!
     
    계속 반복하다 보니까 다음 장면이 상상되는 기분이다
    (근데 아직 혼자 작성하면 시간이 오래 걸리긴 한다.)
     
    오후에는 학원 테스트 보고, 내일 할 유저 서비스를 구현하기 전에 
    userVO -> IUserMapper 생성 -> db-config에 추가 -> UserMapper 생성
    과정을 해 주었다.
     

    'SPRING' 카테고리의 다른 글

    MyWeb  (0) 2022.02.17
    MyWeb  (0) 2022.02.17
    MyWeb  (0) 2022.02.15
    mywebproject  (0) 2022.02.11
    springwebmvcproject  (0) 2022.02.10
Designed by Tistory.