게시판6) 글쓰기
in Web Dev on Java Spring
파일 첨부는 나중에 따로 다룰 것이라 특별하게 주목해야하는 것들은 없다. 똑같은 패턴으로 만들면 된다.
글을 쓰고 등록을 하면 db에 저장되게 할 것이다.
boardwrite.jsp
- 글 작성자는 ${sessionScope.loginId}로 서버에 저장된 값을 가져온다.
- 목록으로 버튼을 누르면 location.href = “boardlist” 가 실행되도록 한다. 그러면 “현재주소/boardlist” 로 가진다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script>
function boardList(){
location.href = "boardlist"
}
</script>
</head>
<body>
<div class = "wrapper">
<h1> [ 글 쓰 기 ]</h1>
<form id ="" action ="boardwrite" method = "POST">
<table border ="1">
<tr>
<th>글쓴이</th>
<td>${sessionScope.loginId}</td>
</tr>
<tr>
<th>제목</th>
<td><input type = "text" name ="title" required></td>
</tr>
<tr>
<th>첨부파일</th>
<td><input type= "file"></td>
</tr>
<tr>
<th>글내용</th>
<td><textarea rows="10" cols = "50" name="message"required></textarea></td>
</tr>
<tr>
<th colspan="2"><input type = "button" value = "목록으로" onclick = "boardList();">
<input type = "submit" value="등록"></th>
</tr>
</table>
</form>
</div>
</body>
</html>
boardController.java
public int boardWrite(Board board) {
BoardMapper mapper = session.getMapper(BoardMapper.class);
int result = mapper.boardRegist(board);
return result;
}
BoarderMapper.xml
- regdate는 자동으로 넣어진다. hitcount도 default 가 0이라서 글 작성시 따로 넣어주지 않아도 된다.
- 여기 id는 interface 의 메소드 이름이다.
<insert id="boardRegist" parameterType = "Board">
INSERT INTO board
(
boardseq,
userid,
title,
message
)
VALUES
(
board_seq.nextval
,#{userid}
,#{title}
,#{message}
)
</insert>
BoardRepository.java
public int boardWrite(Board board) {
BoardMapper mapper = session.getMapper(BoardMapper.class);
int result = mapper.boardRegist(board);
return result;
}
◇ Spring 게시판 포스팅 시리즈 ◇