본문 바로가기
Programming/Spring

[스프링 프레임워크]게시판 만들기 #4-1 : 게시글 등록(수정)

by hyunipad 2021. 10. 23.
반응형

2021.10.10 - [Java/Spring] - [스프링 프레임워크]게시판 만들기 #4 : 게시글 등록

 

[스프링 프레임워크]게시판 만들기 #4 : 게시글 등록

본 포스팅은 스프링 프레임워크를 이용하여 기본적인 게시판을 만드는 방법을 설명합니다. 기본적인 내용은 지난 포스팅을 참고해주시기 바랍니다. 2021.08.07 - [Web/Spring] - [스프링 프레임워크]게

hyunipad.tistory.com

저번 포스팅에서 만들었던 게시글 등록에서 수정할 부분이 있어서 포스팅을 작성합니다.

게시글을 등록할 때 BoardDTO 객체에 파라미터를 직접 전달하고 있었는데 생각 해보니 Spring에서 자동으로 데이터를 set 해주는 것을 깜빡하고 있었습니다.

 

아래는 기존에 작성된 BoardController.java입니다.

request 객체를 가져와서 직접 데이터를 set해주고 있었습니다.

Spring에서는 가져오는 데이터의 name이 주입해준 객체와 일치하면 자동으로 set을 해주고 있습니다.

아래는 수정된 코드입니다.

메서드 파라미터에 객체를 전달해주면 자동으로 데이터가 set된 상태로 전달됩니다.

 

package com.board.controller;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Locale;

import javax.inject.Inject;
import javax.servlet.http.HttpServletRequest;

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.bind.annotation.ResponseBody;

import com.board.domain.BoardDTO;
import com.board.service.BoardService;

@Controller
@RequestMapping(value="/board/*")
public class BoardController {
	
	 @Inject
	 private BoardService service;
	
	@RequestMapping(value = "/list", method = RequestMethod.GET)
	public String list(Locale locale, Model model) throws Exception {
		  List list = service.list();
		  model.addAttribute("list", list);
		  
		  return "/board/list";
	}
	
	@RequestMapping(value = "/regiView", method = RequestMethod.GET)
	public String regiView(Locale locale, Model model) throws Exception {
		return "/board/regi";
	}
	
	@ResponseBody
	@RequestMapping(value = "/regi", method = RequestMethod.POST)
	public  String regi(Locale locale, Model model, BoardDTO dto) throws Exception {
		
		Date date = new Date(System.currentTimeMillis());
		SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss"); 
		
		dto.setReg_date(format.format(date));
		
		if(service.regi(dto) == 1) {
			return "Y";
		}else {
			return "N";
		}
	}
	
	@RequestMapping(value = "/view", method = RequestMethod.POST)
	public String view(Locale locale, Model model, HttpServletRequest request) throws Exception {
		BoardDTO dto = service.view(Integer.parseInt((String)request.getParameter("seq")));
		model.addAttribute("view", dto);
		return "/board/view";
	}
	
}
반응형

댓글