티스토리 뷰

반응형

안녕하세요. Nerd-Lee입니다.

공부 내용은, 인프런 박매일님의
[NarP Series]MVC 프레임워크는 내 손에[나프1탄] 을 참고하였습니다.

MVC 2단계인, Servlet이 아닌 JSP로 View를 제작하는 환경으로 만들어보고, MVC 3단계로 넘어가서

나중에는 Spring Framework를 사용하는 방식의 강의입니다.

진도가 빠르게 나가지 않아, 중요하다고 생각하는 부분들만 작성할 예정입니다.

JSP는 서블릿이다. 와, JSP를 서블릿으로 변경하기에 관련 된 부분은 중요하지 않다 생각하여 적지 않았습니다.


1. MemberList.jsp 부분 수정

  • 회원가입 페이지로 넘어가는 부분이랑 삭제 버튼을 추가해보자.
<%@page import="model.MemberVO"%>
<%@page import="java.util.ArrayList"%>
<%@page import="model.MemberDAO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
    MemberDAO dao = new MemberDAO();
    ArrayList<MemberVO> list = dao.memberGetList();
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="stylesheet"
    href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css">
<script
    src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.slim.min.js"></script>
<script
    src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"></script>
<script
    src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.bundle.min.js"></script>
<script type="text/javascript">
    function deleteFn(num){
        location.href="memberDelete.jsp?number=" + num;
    }

</script>
</head>
<body>
<table class="table table-bordered">
    <tr>
        <td>번호</td>
        <td>아이디</td>
        <td>패스워드</td>
        <td>이름</td>
        <td>나이</td>
        <td>이메일</td>
        <td>전화번호</td>
        <td>삭제</td>
    </tr>
    <% for(MemberVO vo : list){ %>
        <tr>
            <td><%=vo.getNumber()%></td>
            <td><%=vo.getId()%></td>
            <td><%=vo.getPassword()%></td>
            <td><%=vo.getName()%></td>
            <td><%=vo.getAge()%></td>
            <td><%=vo.getEmail() %></td>
            <td><%=vo.getPhone() %></td>
            <td>
                <input class="btn btn-warning" type="button" value="삭제" onclick="deleteFn(<%=vo.getNumber()%>)"/>
            </td>
        </tr>
        <%     } %>
        <tr>
            <td colspan="8" align="right">
                <input class="btn btn-primary" type="button" value="회원가입" onclick="location.href='memberRegister.html'"/>
            </td>
        </tr>
</table>
</body>
</html>

2. memberDelete.jsp 파일을 만들자.

  • memberDelete.jsp 파일을 만들고, jsp에서 삭제를 하는 로직을 추가해주자 밑에 코드처럼.
<%@page import="model.MemberDAO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
    int number = Integer.parseInt(request.getParameter("number"));
    MemberDAO dao = new MemberDAO();
    int success = dao.memberDelete(number);
    if(success > 0){
        response.sendRedirect("memberList.jsp");
    }
    else{
        throw new ServletException("not delete");
    }
%>
  • 그리고, memberList.jsp 에, 상세보기 페이지로 넘어갈 수 있도록 id쪽 태그에 anchor 태그를 넣어주자.
<% for(MemberVO vo : list){ %>
        <tr>
            <td><%=vo.getNumber()%></td>
            // 이 부분 추가
            <td><a href="memberContent.jsp?number=<%=vo.getNumber()%>"><%=vo.getId()%></a></td>
            <td><%=vo.getPassword()%></td>
            <td><%=vo.getName()%></td>
            <td><%=vo.getAge()%></td>
            <td><%=vo.getEmail() %></td>
            <td><%=vo.getPhone() %></td>
            <td>
                <input class="btn btn-warning" type="button" value="삭제" onclick="deleteFn(<%=vo.getNumber()%>)"/>
            </td>
        </tr>
        <%     } %>


이 글이 도움이 되셨다면 댓글 부탁드립니다^^
다음 글로 찾아오겠습니다!
반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
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
글 보관함