[Spring+JSP]CRUD 게시판 만들기

[스프링]MVC2방식 CRUD 게시판 만들기 9.글쓰기 구현

나스닥 엔지니어 2018. 7. 11. 00:40

* 글쓰기는 GET & POST 2중으로 구성해야 한다


GET : 단순 글쓰기 페이지 VIEW 

POST : 글쓰기 작업 완료 후 DB전송 및 listAll.jsp에 구현


1. regist.jsp 파일 생성



(views폴더에 regist.jsp 생성)



1-1. regist.jsp는 어디서 호출?



(listAll.jsp 일부)




2. regist.jsp 작성


(form method = "post"로 처리)


<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="EUC-KR"%>

<!DOCTYPE html>

<html>

<head>

<title>글쓰기</title>

</head>

<form method = "post"> 

<body>

<p><label>제목</label><input type="text" name ="title"></p>


<p><label>작성자</label><input type="text" name="writer" size="15">

</p>

<label>내용</label><p>

<textarea rows="15" cols="65" name = "content"></textarea><p>


<button type = "submit">등록</button>

</form>

</body>

</html>



3. controller 구현



(BoardController.java에 메소드 추가)



package com.myp.controller;


import javax.inject.Inject;


import org.springframework.stereotype.Controller;

import org.springframework.ui.Model;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

import org.springframework.web.servlet.mvc.support.RedirectAttributes;


import com.myp.domain.BoardVO;

import com.myp.service.BoardService;


@Controller // 컨트롤러임을 명시

@RequestMapping(value = "/") // 주소 패턴

public class BoardController {

@Inject   // 주입(심부름꾼) 명시

private BoardService service; // Service 호출을 위한 객체생성

@RequestMapping(value= "/listAll", method = RequestMethod.GET) // 주소 호출 명시 . 호출하려는 주소 와 REST 방식설정 (GET)

public void listAll(Model model)throws Exception { // 메소드 인자값은 model 인터페이스(jsp전달 심부름꾼)

model.addAttribute("list",service.listAll()); // jsp에 심부름할 내역(서비스 호출)

}

@RequestMapping(value = "/regist", method = RequestMethod.GET) // GET 방식으로 페이지 호출

  public void registerGET(BoardVO board, Model model) throws Exception {

}


@RequestMapping(value = "/regist", method = RequestMethod.POST) // POST방식으로 내용 전송

  public String registPOST(BoardVO board, RedirectAttributes rttr) throws Exception { // 인자값으로 REDIRECT 사용 

    

  service.regist(board); // 글작성 서비스 호출

        

    return "redirect:/listAll"; // 작성이 완료된 후, 목록페이지로 리턴

}

}



4. 테스트 화면