반응형
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 |
Tags
- double-submit
- 스프링게시판상세보기
- 톰캣시작페이지설정
- 이클립스데이터베이스연결
- 게시판상세보기
- mysqlinsert한글깨짐
- 게시판insert
- insert할글깨짐
- 저장할때한글깨짐
- dataSource설정
- insert 중복방지
- HTML
- 게시판목록조회
- 게시판만들기
- Java
- 전자정부프레임워크 double-submit
- 스프링게시판등록
- url설정
- 한글깨짐해결방법
- 톰캣9.0다운로드
- 컨트롤러url
- 스프링게시판insert
- 자바스크립트
- Could not create the java Virtual Machine
- 스프링게시판목록조회
- mybatis연결
- 스프링프로젝트
- oracle
- 이클립스db연결
- 스프링게시판만들기
Archives
- Today
- Total
하루의 일상💜
[게시판만들기] 게시판목록 클릭 시 상세보기 본문
반응형
게시글 클릭 시 상세보기 페이지 만들기
1. select 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>
<select id="selectBbs" resultType="bbsVO">
SELECT *
FROM BOARD
WHERE SEQ = #{seq}
</select>
</mapper>
<select id="selectBbs" resultType="bbsVO">
SELECT *
FROM BOARD
WHERE SEQ = #{seq}
</select>
2. select DAO, Service, SerivceImpl 작성하기
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 BbsVO selectBbs(BbsVO vo) throws Exception {
return selectOne("selectBbs", vo);
}
}
public BbsVO selectBbs(BbsVO vo) throws Exception {
return selectOne("selectBbs", 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;
BbsVO selectBbs(BbsVO vo) throws Exception;
}
BbsVO selectBbs(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 BbsVO selectBbs(BbsVO vo) throws Exception {
return bbsDAO.selectBbs(vo);
}
}
@Override
public BbsVO selectBbs(BbsVO vo) throws Exception {
return bbsDAO.selectBbs(vo);
}
BbsController
//게시글조회
@RequestMapping(value = "/selectBbs.do")
public String selectBbs(@RequestParam("seq") int seq, BbsVO vo, Model model) throws Exception {
vo.setSeq(seq);
vo = bbsService.selectBbs(vo);
model.addAttribute("bbsVO", vo);
return "/bbs/bbsInsert";
}
3. 목록에서 상세보기 이동페이지
게시글 목록에서 내용을 클릭 하면 해당글의 상세보기 페이지로 이동할 수 있게 하였다.
해당글의 pk 값인 seq값으로 게시글을 조회한다.
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" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<script type="text/javascript" >
function fn_view (seq) {
var f= document.updateForm;
f.action = "selectBbs.do";
console.log("seq : " + seq);
f.seq.value = seq;
f.submit();
}
</script>
<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><a href="javascript:fn_view('${rs.seq}')">${rs.content}</a></td>
<td>${rs.regDate}</td>
</tr>
</c:forEach>
</tbody>
</table>
<div>
<button><a href="/bbsForm.do">게시글 등록</a></button>
</div>
<form id="updateForm" name="updateForm" >
<input type="hidden" name="seq" value=""/>
</form>
</body>
</html>
상세보기페이지는 등록페이지/수정페이지를 구분하지 않고 등록페이지하나만으로 관리한다.
등록도하고 수정도 가능한 페이지를 하나로 관리
bbsInsert
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<!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="${bbsVO.title}"/><br/>
<label>내용</label>
<textarea name="content">${bbsVO.content}</textarea><br/>
<input type="submit" value="등록"/>
</form>
</body>
</html>
아래처럼 번호 12번의 게시글을 클릭하면 해당 게시글의 상세를 불러 올 수 있다.
반응형
'전자정부프레임워크' 카테고리의 다른 글
[전자정부프레임워크] 이중등록(Double submit) 방지 기능 사용해보기 (0) | 2024.05.21 |
---|---|
[게시판만들기] 게시글 등록하기 (0) | 2024.03.05 |
[게시판만들기] 게시글목록 조회하기 (1) | 2024.02.29 |
[게시판만들기] MyBatis, MySQL DB연결 (0) | 2024.02.29 |
[게시판만들기] 컨트롤러 통하여 .do로 jsp 열기/jsp:forward (1) | 2024.02.15 |