두번째 시간이다-_-;
단순히 리스트만 보여주는
기능을 구현해보자.

DB를 우선 설정해야겠다.
DB는 간단히
GUESTBOOK_ID -> 자동으로 증가하는 숫자.
REGISTER -> 등록일과 시간을 나타냄.
NAME -> 이름.
EMAIL -> EMAIL주소
PASSWORD -> 글 입력한 뒤 지울 때 씀(여기서 지우는 기능없음-_-;)
CONTENT -> 방명록 내용.

MySQL기준으로 이렇게 생성하자.

create table GUESTBOOK (
    GUESTBOOK_ID INT         NOT NULL PRIMARY KEY AUTO_INCREMENT ,
    REGISTER     DATETIME    NOT NULL,
    NAME         VARCHAR(20) NOT NULL,
    EMAIL        VARCHAR(40) NOT NULL,
    PASSWORD     VARCHAR(10),
    CONTENT      MEDIUMTEXT  NOT NULL
)

생성했으면 DB를 직접 조정해서 글도 몇개 넣어 놓자.

struts-config.xml파일을 수정하자.
<action path="/list" type="simpleguestbook.actions.listAction" validate="false">
    <forward name="success" path="/list.jsp"/>
  </action>
이 액션태그를 action-mappings태그안에다가 추가를 하자.
저것은 list.do를 실행하면 guestbook.actions.listAction클래스에 있는 execute메소드를 실행하게 되고 validate="false"로 인해 유효성검사는 하지 않으며 success라는 forward값을 받게 되면 list.jsp를 포워딩하라는 그런 뜻이다.

가장먼저 데이터를 담을 수 있는 bean클래스를 작성 해보자.


여기에서는 간단히 get과 set을 이용하여 작성했다.
그 다음 실질적인 역할을 하는 manager클래스를 작성해보자.


딱 getList라는 메소드는 db에 저장된 리스트를 가져오는 것이다.

listAction클래스를 작성해보자.
패키지를 guestbook.actions라고 생성을 한뒤 클래스를 추가하여 listAction이라고 한다.


struts-config.xml파일에서 action태그에서 설정한 action클래스가 실행이 되는데 여기 클래스에 있는 execute메소드를 실행하게 된다. 보면 Manager클래스에서 방명록내용이 담겨져있는 list를 읽어와서 세션에 저장하는 역할을 한뒤 forward로 success를 반환한다.
아까 action태그안에 forward이름이 success인것이 forward되는 것이다.
저기 Action에 fail을 리턴하면 action태그에 fail인 것의 forward가 있다면 그것을 실행하게 되는 것이다.

이제 list.jsp파일을 작성해보자.

보면 이상한 태그들이 많이 있는데 뭐 단순하다. 태그의 종류는 무쟈게 많지만 게시판에 쓰이는 거라면 logic:iterate(반복태그)랑 bean:write(내용출력) 정도만 있으면 출력할 수 있다.

logic:iterate는 방금전에 listAction에서 저장한 세션 lists(List클래스)를 넣은 대로 반복하는 것이다. 글이 5개가 있다면 5번 반복할 것이다.
bean:write는 그냥 bean에 있는 값을 가져와서 보여주는 것이다. property는 빈의 필드명이 된다. 그냥 저렇게 쓰면 된다.

이제 http://localhost:8080/SimpleGuestBook/list.do 를 실행하게 되면 억지로 집어 넣었던 db에 있는 내용이 보여질 것이다.

 
Posted by 머드초보
,