Skip to content

2022_03_26

Crow edited this page Apr 9, 2022 · 6 revisions

#Other 코로나 걸리고 요즘 동기 부여가 안되서 깃허브 업로드 기준 20일 정도 쉰거 같음
그렇지만 인텔리제이등 IDE 확장시도 함수형 프로그래밍 영상등 아예 놀고있던건 아님 ㅜ
다시 열심히 해야겠음..

11.3 등록 입력 페이지와 등록 처리

게시물의 등록 작업은 POST 방식으로 처리하지만, 화면에서 입력을 받아야 하므로 GET방식으로 입력 페이지를 볼 수 있도록
BoardController에 메서드를 추가함

BoardController의 일부

    @GetMapping("/register")
    public void register() {

    }

register()는 입력 페이지를 보여주눈 역활만 하기 때문에 별도의 처리가 필요하지 않음
views 폴더에는 includes를 적용한 입력 페이지를 작성해줌

views/board/register.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ include file="../includes/header.jsp"%>

<div class="row">
	<div class="col-lg-12">
		<h1 class="page-header">Board Register</h1>
	</div>
	<!-- /.col-lg-12 -->
</div>
<!-- /.row -->

<div class="row">
	<div class="col-lg-12">
		<div class="panel panel-default">
			<div class="panel-heading">Board Register</div>
			<!-- /.panel-heading -->
			<div class="panel-body">

				<form role="form" action="/board/register" method="post">
					<div class="form-group">
						<label>Title</label> <input class="form-control" name='title'>
					</div>

					<div class="form-group">
						<label>Text area</label>
						<textarea class="form-control" rows="3" name='content'></textarea>
					</div>

					<div class="form-group">
						<label>Writer</label> <input class="form-control" name='writer'>
					</div>
					<button type="submit" class="btn btn-default">Submit
						Button</button>
					<button type="reset" class="btn btn-default">Reset Button</button>
				</form>

			</div>
			<!-- end panel-body -->

		</div>
		<!-- end panel-body -->
	</div>
	<!-- end panel -->
</div>
<!-- /.row -->
<%@ include file="../includes/footer.jsp"%>

register.jsp 페이지에서는

태그를 이용해서 필요한 데이터를 전송함
이나 <textarea> 태그의 name속성은 BoardVO 클래스의 변수와 일치시켜 줘야함

브라우저를 통해 /board/register화면이 제대로 출력되는지를 확인함

화면이 정상적으로 출력된다면 입력 항목을 넣어서 새로운 게시물이 등록되는지를 확인함
BoardController의 POST 방식으로 동작하는 register()는 redirect 시키는 방식을 이용함
게시물의 등록 후에는 다시 /board/list로 이동하게 됨

게시글의 등록은 정상적으로 이루어지지만 한글이 깨지는 문제가 발생함