본문 바로가기

Project/2. My First Website <Mybatis>

project 3.2 My first website/ 게시판 글쓰기 페이지

와 깃허브 올릴려고 뭐 잘못해가지고 싹 날라가는 참사가 일어났다가 복구했는데 지금도 심장이 막 두근거림

하 ㅠㅠ

 

놀랜 가슴을 부여 잡으며 오늘도 써보는 포스팅

 

 

 

 

1. view

1) boardInsert.jsp

function fn_boardInsert(f) {

f.action = '/MYHOME_P/boardInsert.board';

f.submit();

}

 

이렇게 해서 커맨드에서는 boardInsertResult로 int result값을 보냄

그러면 

2) boardInsertResult.jsp  여기서는 스크립트 페이지만 있고, 알럿창으로 포스팅 됐다고 띄어준 후 바로 다시 boardList로 이동시켜줌

<script type="text/javascript">

if (${param.result}>0) {

alert('Successfully posted!');

location.href='/MYHOME_P/boardList.board';

} else {

alert('post upload got failed.');

history.back();

}

</script>

 

비슷한 논리로

3) boardDeleteResut.jsp 

<script type="text/javascript">

if ( ${param.result} > 0 ) {

alert('Successfully deleted.');

location.href = '/MYHOME_P/boardList.board?page=' + ${param.page};

} else {

alert('Delete failed.');

history.back();

}

</script>

 

3) boardList.jsp 등록을 할 때 등록페이지로 이동할 함수

// 새 게시글 등록

function fn_boardInsertPage(f) {

f.action = '/MYHOME_P/boardInsertPage.board';

f.submit();

 

2. Controller 

 

//boardList.jsp 에서 ViewForard (단순이동)만 도와주는 컨트롤러.

case "/boardInsertPage.board" :

vf = new ViewForward();

vf.setPath("board/boardInsert.jsp");

vf.setRedirect(false);

break;

 

진짜 삽입은 여기서 이뤄짐

case "/boardInsert.board":

boardCommand = new BoardInsertCommand();

vf = boardCommand.excute(request, response);

break;

 

 

3. Command

1번에서 말했듯이 결과는 insertResult로 setPath 를 이용해서 result 값을 보내준다. 

 

 

 

4. Dao

public int boardInsert(BoardDto bDto) {

SqlSession ss = factory.openSession(false);

int result = ss.insert("mybatis.mapper.board.boardInsert", bDto);

if (result > 0) {

ss.commit();

}

ss.close();

return result;

}

 

 

5. xml

jsp에서 받아오는 내용들은 파람으로 받고 ( #{} ) 그 데이터를 넣어주고, 그 외의 값들은 내가 넣어준다.

<insert id="boardInsert" parameterType="dto.BoardDto">

INSERT

  INTO BOARD2

VALUES (BOARD2_SEQ.NEXTVAL,  <!-- bNo -->

        #{mId},

        #{bTitle},

        #{bContent},

        #{bIp},

        0,  <!-- bHit-->

        SYSDATE,  <!-- bLastModifydate -->

        SYSDATE,  <!-- bRegDate -->

        0,  <!-- bDelete : post 0, deleted post -1 -->

        BOARD2_SEQ.CURRVAL,  <!-- bGroup : same value as bNo value -->

        0,  <!-- bGroupOrd -->

        0  <!-- bDepth : post : 0 , comment : +1 -->

        )

</insert>