。゚(*´□`)゚。

코딩의 즐거움과 도전, 그리고 일상의 소소한 순간들이 어우러진 블로그

강의/JSP 게시판 만들기

[JSP 게시판 만들기] 13. 게시글 수정 및 삭제 기능 구현하기

quarrrter 2023. 12. 10. 19:48

onclick


 

BbsDAO 에 update 메서드 추가

 

 

post method 설정 및 기존 글 내용 출력되게 표시 

<div class="container">
    <div class="row">
        <form method="post" action="updateAction.jsp?bbsID=<%= bbsID %>">			
                <table class="table table-striped" style="text-align; center; border: 1px solid #dddddd">
                <thead>
                    <tr>
                        <th colspan="2" style="background-color: #eeeeee; text-aligh: center;">게시판 글수정 양식</th>

                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td><input type="text" class="form-control" placeholder="글 제목" name="bbsTitle" maxlength="50" value="<%= bbs.getBbsTitle()%>"></td>
                    </tr>
                    <tr>
                        <td><textarea class="form-control" placeholder="글 내용" name="bbsContent" maxlength="2048" style="height:350px;"> <%= bbs.getBbsContent()%></textarea></td>
                    </tr>
                </tbody>
                </table>
                <input type="submit" class="btn btn-primary pull-right" value="글쓰기">
        </form>

    </div>
</div>

 

넘어온 BbsTitle과 BbsContent 값이 null이거나 빈문자열인 경우 체크

if (request.getParameter("bbsTitle") == null || request.getParameter("bbsContent") == null
	|| request.getParameter("bbsTitle").equals("") || request.getParameter("bbsContent").equals("")) {

 

update 메서드 실행

BbsDAO BbsDAO = new BbsDAO();
    int result = BbsDAO.update(bbsID, request.getParameter("bbsTitle"), request.getParameter("bbsContent"));
    if (result == -1) {
        PrintWriter script = response.getWriter();
        script.println("<script>");
        script.println("alert('글수정에 실패했습니다')");
        script.println("history.back()");
        script.println("</script>");
    } else {
        PrintWriter script = response.getWriter();
        script.println("<script>");
        script.println("location.href='bbs.jsp'");
        script.println("</script>");
    }

 

 

delete 메서드 생성 / updateAction 페이지 활용해서 deleteAction.jsp 만들기

String SQL = "UPDATE BBS SET bbsAvailable = 0 WHERE bbsID = ?";

이 쿼리는 BBS 테이블에서 bbsID가 특정 값인 레코드의 bbsAvailable 열을 0으로 업데이트하는 역할을 합니다. 
여기서 SET은 업데이트될 열을 설정하라는 의미이고, WHERE 절은 어떤 레코드를 업데이트할지를 지정합니다.
bbsID = ?는 특정 bbsID에 해당하는 레코드를 찾는 조건입니다. ?는 해당 위치에 전달되는 값으로 대체됩니다. 
Java 코드에서는 PreparedStatement를 사용하여 이 부분을 설정할 것입니다.
public int delete(int bbsID) {
    String SQL = "UPDATE BBS SET bbsAvailable = 0 WHERE bbsID = ?";
    try {
        PreparedStatement pstmt = conn.prepareStatement(SQL);
        pstmt.setInt(1, bbsID);
        return pstmt.executeUpdate();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return -1; //db error
}

 

 

bbs.jsp 에서 온클릭 이벤트 설정

<a href="bbs.jsp" class="btn btn-primary">목록</a>
<%
    if(userID != null && userID.equals(bbs.getUserID())) {
%>
    <a href="update.jsp?bbsID=<%= bbsID %>" class="btn btn-primary">수정</a>
    <a onclick="return confirm('정말로 삭제하시겠습까?')" href="deleteAction.jsp?bbsID=<%= bbsID %>" class="btn btn-primary">삭제</a>
<%
    }
%>