공부공부

게시판 만들기 14.게시글 쓰기

냘로하 2020. 9. 8. 16:08

오늘은 crud의 마지막, create 게시글 쓰기를 진행하려고 한다.

이로서 게시판다운 게시판이 거의 다 만들어졌다.

먼저 jsp파일의 html 소스.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>글쓰기 페이지</title>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> 
<!-- 합쳐지고 최소화된 최신 CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
<!-- 부가적인 테마 -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap-theme.min.css">
<!-- 합쳐지고 최소화된 최신 자바스크립트 -->
</head>
<body>
	<h3 align="center">글쓰기 페이지</h3>
	
	<form action="/board.com/writefin" method="get" >
		<table style="text-align: center; width: 100% " >
			<tr>
				<td>제목 <input type="text" name="boardtitle"/></td>
			</tr>
			<tr>
				<td>내용 <textarea cols="20" rows="2" name="boardcontent">내용을 입력하세요!</textarea></td>
			</tr>
		</table>
		<div align="center">
		<input type="submit" class="btn btn-primary" value="작성하기"/> <a href="http://localhost/board" class="btn btn-info" >게시글 페이지로</a>
		</div>
	</form>
</body>
</html>

저번에 버튼을 폼 안에 넣으면 자동으로 submit 되어버리는 현상이 있어 a태그로 버튼을 대신했다.

부트스트랩은 a태그도 버튼과 같이 만들수 있어서 너무 좋은것 같다. 앞으로 자주 사용해야겠다.

짠! 게시글 쓰기 페이지가 완성됐다.

create도 생각보다 쉽게 이루어졌는데, jsp파일에서 만들 게시글을 자바단으로 옮기고, 자바단에서 서버로 올려주는게 전부이다.

그,럼 소-스 갑니다.

	@RequestMapping("/board.com/writePage")
	public ModelAndView writeboard(ModelAndView mv) {
		
		mv.setViewName("writePage");
		return mv;
	}
	@RequestMapping("board.com/writefin")
		public ModelAndView writefin(ModelAndView mv,Board2DTO dto,HttpServletRequest req) {
			
		String boardtitle = req.getParameter("boardtitle");
		String boardcontent = req.getParameter("boardcontent");
		
		dto.setTitle(boardtitle);
		dto.setContent(boardcontent);
		service.writeboard(dto);
		//리다이렉션
		RedirectView rv = new RedirectView ("/board");
		mv.setView(rv);
		return mv;
		}
	

자바 메소드가 2개 생성되었는데, 하나는 writepage로 진입할수 있는 메소드, 두번째는 writepage에서 submit 했을때 릳다이렉션 해주는 메소드이다.

	public void writeboard(Board2DTO dto) {
		dao.writeboard(dto);
	}

서비스단

public void writeboard(Board2DTO dto) {
		session.insert("boarddate.writeboard", dto);
	}

dao단

<insert id="writeboard">
		insert into boardtable (title,content) values(#{title},#{content})
	</insert>

SQL.xml파일

이런 내용을 추가하면 글쓰기 기능이 정상적으로 작동된다!