안녕하세요.
어찌어찌 게시판 등록까지 왔습니다.
이전포스팅 일부 링크 첨부하겠습니다.
[개발/spring boot, gradle, mybatis Project] - #9_[spring boot] 게시판 등록 화면 summernote 웹 에디터 사용
[개발/spring boot, gradle, mybatis Project] - #8_[spring boot] 게시판 목록 출력(페이징 처리, 부트스트랩)
[개발/spring boot, gradle, mybatis Project] - #3_[spring boot] 프로젝트 처음 시작하기(jsp vieeResolver)
저도 이렇게 포스팅을 늘려나가니깐 뿌듯하네요.
이전 포스팅에서 웹 에디터 summernote를 활용하여 화면을 구축하였습니다.
현재 대략 이런 모습입니다.
이제 게시글을 쓰고 저장하는 모듈을 만들어보겠습니다.
jsp body 부분 입니다.
<div class="board_div">
<h2 class="page-header">Write</h2>
<form class="form" id="boardSearchVO" name="boardSearchVO">
<input type="hidden" id="pageIndex" name="pageIndex" value="${boardSearchVO.pageIndex}"/>
<input type="hidden" id="pageSize" name="pageSize" value="${boardSearchVO.pageSize}"/>
<input type="hidden" id="bbs_sno" name="bbs_sno" value="${boardSearchVO.bbs_sno}"/>
<input type="hidden" id="usr_id" name="usr_id" value="${boardSearchVO.usr_id}"/>
<input type="hidden" id="title" name="title" value="${boardSearchVO.title}"/>
</form>
<form class="form-horizontal" id="boardForm" name="boardForm" method="post" enctype="multipart/form-data">
<input type="hidden" id="bbs_contents" name="bbs_contents" value=""/>
<input type="hidden" id="ntc_yn" name="ntc_yn" value="N"/>
<input type="hidden" id="atch_file_sno" name="atch_file_sno" value="0"/>
<input type="hidden" id="bbs_sno" name="bbs_sno" value="${boardSearchVO.bbs_sno}"/>
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">Title</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="bbs_title" name="bbs_title" placeholder="Title">
</div>
</div>
<div class="form-group">
<label for="inputPassword3" class="col-sm-2 control-label">contents</label>
<div class="col-sm-10">
<div id="summernote"></div>
</div>
</div>
<%-- <div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">첨부파일</label>
<div class="col-sm-10">
<div id="fine-uploader"></div>
<!-- Fine Uploader -->
<jsp:include page="/resources/fileUpload/all.fine-uploader/lee/division_script.jsp" flush="true" />
</div>
</div> --%>
</form>
<div class="pull-right"><a href="#" class="btn btn-primary btn-success boardAddBtn"><span class="glyphicon glyphicon-pencil"></span> Write</a></div>
</div>
그리고 javascript 부분입니다.
$('#summernote').summernote({
placeholder: 'Write contents',
height: 400,
minHeight: null, // set minimum height of editor
maxHeight: null, // set maximum height of editor
});
$('.boardAddBtn').click(function(){
var markupStr = $('#summernote').summernote('code');
$("#bbs_contents").val(markupStr);
$.ajax({
url: '/board/notice/boardAddPro',
data: $("#boardForm").serialize(),
type: 'post',
dataType: 'json',
error: function(){
alert('요청하신 페이지에 문제가 있어 표시할 수 없습니다.');
},
success: function(json){
if(json.result!='0'){
alert('등록을 완료하였습니다.');
$("#boardSearchVO").attr('action', '/board/notice/boardList').submit();
}else{
alert('등록을 실패하였습니다.');
}
}
});
return false;
});
소스코드를 보시면
$('#summernote').summernote << 이부분은
등록 화면에 웹에디터가 출력되는 부분입니다.
실질적인 등록 부분은
boardAddBtn을 클릭한 부분을 보시면 됩니다.
summernote에 입력된 값을 가져오기위해야
$(#summernote).summernote('code')를 이용하였습니다.
그리고 그값을 bbs_contents에 넘겨주었습니다.
그리고 컨트롤러로 값을 넘겨주어 mybatis를 이용해 insert 하였습니다.
BoardService.java
long boardAdd(HttpServletRequest req, BoardVO boardVO);
BoardImpl.java
public long boardAdd(HttpServletRequest req, BoardVO boardVO) {
boardVO.setReg_usr_no(LoginManager.getUsrNo(req));
long inertRowCnt =boardMapper.boardAdd(boardVO);
return inertRowCnt == 0 ? 0 : boardVO.getBlt_rsrc_sno();
}
long inertRowCnt =boardMapper.boardAdd(boardVO);
return inertRowCnt == 0 ? 0 : boardVO.getBlt_rsrc_sno();
ibatis와 mybatis의 retrun 값은 다릅니다.
이유는 이전포스팅에 설명해 두었습니다.
[개발/spring boot, gradle, mybatis Project] - #번외_mybatis inser 이후 return 값이 1인 이유
BoardMapper.java
long boardAdd(BoardVO boardVO);
Board.xml
<insert id="boardAdd" parameterType="lee.domain.BoardVO">
<selectKey resultType="java.lang.Long" keyProperty="blt_rsrc_sno" order="BEFORE">
select seq_ck_blt_rsrc.nextVal from dual
</selectKey>
insert into ck_blt_rsrc (
blt_rsrc_sno, 컬럼
)
values(
#{blt_rsrc_sno}, 컬럼
)
</insert>
이렇게 하면 게시글이 등록이 됩니다.
'개발 > spring boot, gradle, mybatis Project' 카테고리의 다른 글
| #번외_[Bootstrap4] 아이콘 사용법 변경 (0) | 2018.10.26 |
|---|---|
| #11_[spring boot] 게시판 조회 (mybatis 사용) (2) | 2017.12.26 |
| #번외_[spring boot] mybatis inser 이후 return 값이 1인 이유 (2) | 2017.12.10 |
| #9_[spring boot] 게시판 등록 화면 summernote 웹 에디터 사용 (0) | 2017.12.05 |
| #8_[spring boot] 게시판 목록 출력(페이징 처리, 부트스트랩) (29) | 2017.12.03 |
| #번외_[spring boot] gradle Lombok 설치 (setter, getter 간소화) (2) | 2017.12.01 |
| #번외_[spring boot] mac에서 gradle 프로젝트 git으로 내려받기(git import) (0) | 2017.11.22 |