ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • PJT 2. TO-DO LIST 구현 하기 (2일차)
    기타/프로젝트 2021. 6. 13. 22:27

    오늘은 저번 진행상황에 이어 main페이지에 TODO, DOING, DONE으로 나누어 보여주고자

    mainServelt으로 데이터베이스에서 todo테이블을 조회(select)해서 setAttribute로 데이터를 main.jsp로 넘겨서

    받아오는 것을 구현해야했다.

     

    지금은 어떠한 프레임워크도 쓰지않고 기획서에서 요구한대로 맞춰해야하기때문에 불편한 점이 많은 것같다.

    일단은 저번시간에 만든 todoDao클래스에서 만들어놓은 getTodos()메소드를 이용하여

    mainServlet에서 데이터를 불러왔다.

     

    사실 데이터를 불러오는 것은 Array객체로 된 list만들어서 for문 돌리고 add해주면 간단하다.

    하지만, 값을 받아온 것은 어떻게 main.jsp에 넘겨야할지가 최대난제였다.

     

    일단은 for문을 돌려서 조회하면 하나의 행(id, type, name, sequence, regdate, title)이 리스트에 들어가게 된다.

    이 하나의 행을 setAttribute로 지정한 변수에 담아야하는데 그러면 변수이름도 계속 바껴야한다.

    그래서 처음에는 아래처럼 코드를 짰다.

    mainServlet 코드

    추후에 각 데이터를 따로 출력해야한다는 생각에 일단은 id, type, name, sequence, regdate, title를 각각 따로 변수에 담았다.

    다행히 저렇게 변수를 지정해주는 것이 동작하여 다음은 잘 되겠구나 생각했다.

    main.jsp

    main.jsp에서는 위에 코드처럼 id, type, name, sequence, regdate, title를 담아줄 배열을 생성하고 for문을 돌려서 각 배열에 데이터를 담았다.

     

    하지만 그 이후가 문제였다.

    화면에 type의 값에 따라 TODO, DOING, DONE으로 나누어 출력해야하는데 어떻게 해야하는지 전혀 감이 않왔다.

    일단은 JSTL을 써서 for each를 돌리면서 type값을 비교하는 조건문을 사용하려고 했지만

    그 이후에 해당하는 id, name, sequence, regdate, title를 출력하는 방법이 떠오르지 않았다.

     

     

    그래서 데이터를 get, set하는 방법을 바꿔보려고 했다.

    mainServlet코드

    먼저, mainServlet에서 데이터를 넘겨줄 때 새로운 Array객체인 list2를 만들어 for문을 돌리고 add를 했다.

    그리고 list2자체를 setAttribute해서 넘겨줬다.

    main.jsp

    main.jsp에서는 해당 list를 get하여 list 원소는 TodoDto타입을 가지도록 하여 list에 담았다.

    그리고 JSTL을 써서 출력해 본 결과

    다행히도 잘 출력됐다.

    이제는 list의 원소가 todoDto니까 todoDto클래스가 가지고 있는 메소드인 getId, getRegDate등을 이용해서 값을 불러올 수 있으므로 JSTL으로 for문이나 if문을 돌려도 쉽게 데이터를 출력할 수 있을 것같다.

    댓글

Designed by Tistory.