반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 스프링게시판상세보기
- 게시판상세보기
- 톰캣시작페이지설정
- 게시판목록조회
- 전자정부프레임워크 double-submit
- 스프링게시판만들기
- Java
- 컨트롤러url
- 스프링게시판목록조회
- HTML
- 이클립스db연결
- dataSource설정
- 저장할때한글깨짐
- mybatis연결
- 스프링게시판등록
- 자바스크립트
- insert할글깨짐
- 한글깨짐해결방법
- oracle
- 스프링프로젝트
- Could not create the java Virtual Machine
- 톰캣9.0다운로드
- mysqlinsert한글깨짐
- url설정
- double-submit
- 이클립스데이터베이스연결
- 게시판만들기
- 게시판insert
- insert 중복방지
- 스프링게시판insert
Archives
- Today
- Total
하루의 일상💜
[게시판만들기] 게시글 등록하기 본문
반응형
1. 입력 폼
게시글을 입력할 수 있는 폼jsp 생성한다.
bbsInsert.jsp
<%@ 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>
</head>
<body>
<form id="insertForm" name="insertForm" method="post" action="/insertBbs.do">
<label>제목</label>
<input name="title" value=""/><br/>
<label>내용</label>
<textarea name="content"></textarea><br/>
<input type="submit" value="등록"/>
</form>
</body>
</html>
앞에 만들었던 게시글 목록에 입력 폼으로 이동할 수 있는 버튼을 생성해준다,
<div>
<button><a href="/bbsForm.do">게시글 등록</a></button>
</div>
bbsList.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<table>
<caption>게시판테이블</caption>
<thead>
<tr>
<th>번호</th>
<th>제목</th>
<th>내용</th>
<th>등록일</th>
</tr>
</thead>
<tbody>
<c:forEach var="rs" items="${resultList}" varStatus="status">
<tr>
<td>${rs.seq}</td>
<td>${rs.title}</td>
<td>${rs.content}</td>
<td>${rs.regDate}</td>
</tr>
</c:forEach>
</tbody>
</table>
<div>
<button><a href="/bbsForm.do">게시글 등록</a></button>
</div>
</body>
</html>
위와 같이 게시글 입력 폼으로 이동할 수 있는 버튼 생성!!
2. insert SQL 생성하기
BbsSQL.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="BbsDAO">
<select id="selectBbsList" resultType="bbsVO">
SELECT *
FROM BOARD
</select>
<insert id="insertBbs">
INSERT INTO board
(TITLE, CONTENT, REG_DATE, MOD_DATE)
VALUES(#{title}, #{content}, NOW(), NOW())
</insert>
</mapper>
<insert id="insertBbs">
INSERT INTO board
(TITLE, CONTENT, REG_DATE, MOD_DATE)
VALUES(#{title}, #{content}, NOW(), NOW())
</insert>
3. insert java, interface생성
BbsDAO
package haru.com.bbs.service.impl;
import java.util.List;
import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractMapper;
import haru.com.bbs.service.BbsVO;
@Repository("bbsDAO")
public class BbsDAO extends EgovAbstractMapper {
public List<?> selectList(BbsVO vo) throws Exception {
return selectList("selectBbsList", vo);
}
public void insertBbs(BbsVO vo) throws Exception {
insert("insertBbs", vo);
}
}
public void insertBbs(BbsVO vo) throws Exception {
insert("insertBbs", vo);
}
BbsService
package haru.com.bbs.service;
import java.util.List;
public interface BbsService {
List<?> selectList(BbsVO vo) throws Exception;
void insertBbs(BbsVO vo) throws Exception;
}
void insertBbs(BbsVO vo) throws Exception;
BbsServiceImpl
package haru.com.bbs.service.impl;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import haru.com.bbs.service.BbsService;
import haru.com.bbs.service.BbsVO;
@Service("bbsService")
public class BbsServiceImpl implements BbsService {
@Resource(name = "bbsDAO")
private BbsDAO bbsDAO;
public List<?> selectList(BbsVO vo) throws Exception {
return bbsDAO.selectList(vo);
}
@Override
public void insertBbs(BbsVO vo) throws Exception {
bbsDAO.insertBbs(vo);
}
}
@Override
public void insertBbs(BbsVO vo) throws Exception {
bbsDAO.insertBbs(vo);
}
BbsController
package haru.com.bbs.web;
import java.util.List;
import javax.annotation.Resource;
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 haru.com.bbs.service.BbsService;
import haru.com.bbs.service.BbsVO;
@Controller
public class BbsController {
@Resource(name = "bbsService")
private BbsService bbsService;
@RequestMapping(value = "/index.do")
public String main() throws Exception {
return "main";
}
//게시글 목록
@RequestMapping(value = "/bbsList.do")
public String bbsList(BbsVO vo, Model model) throws Exception {
List<?> bbsList = bbsService.selectList(vo);
model.addAttribute("resultList", bbsList);
return "/bbs/bbsList";
}
//게시글등록form
@RequestMapping(value = "/bbsForm.do")
public String bbsForm() throws Exception {
return "/bbs/bbsInsert";
}
//게시글등록
@RequestMapping(value = "/insertBbs.do", method = RequestMethod.POST)
public String insertBbs(@RequestParam("title") String title, @RequestParam("content") String content, BbsVO vo) throws Exception {
vo.setTitle(title);
vo.setContent(content);
bbsService.insertBbs(vo);
return "redirect:/bbsList.do";
}
}
//게시글등록form
@RequestMapping(value = "/bbsForm.do")
public String bbsForm() throws Exception {
return "/bbs/bbsInsert";
}
//게시글등록
@RequestMapping(value = "/insertBbs.do", method = RequestMethod.POST)
public String insertBbs(@RequestParam("title") String title, @RequestParam("content") String content, BbsVO vo) throws Exception {
vo.setTitle(title);
vo.setContent(content);
bbsService.insertBbs(vo);
return "redirect:/bbsList.do";
}
3. 폼에 데이터 입력
폼에 데이터를 입력하여 저장했더니 한글이 깨진다.
처음 web에 필터설정을 하지 않았기 때문....
web.xml에서 필터 설정을 해준다
web.xml
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<filter>
<filter-name>HTMLTagFilter</filter-name>
<filter-class>egovframework.rte.ptl.mvc.filter.HTMLTagFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>HTMLTagFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
반응형
'전자정부프레임워크' 카테고리의 다른 글
[전자정부프레임워크] 이중등록(Double submit) 방지 기능 사용해보기 (0) | 2024.05.21 |
---|---|
[게시판만들기] 게시판목록 클릭 시 상세보기 (0) | 2024.03.06 |
[게시판만들기] 게시글목록 조회하기 (1) | 2024.02.29 |
[게시판만들기] MyBatis, MySQL DB연결 (0) | 2024.02.29 |
[게시판만들기] 컨트롤러 통하여 .do로 jsp 열기/jsp:forward (1) | 2024.02.15 |