<게시판만들기>-게시판 출력하기
게시판리스트와 검색 구현
<freeboardList.jsp>
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
<%@page import="kr.or.ddit.vo.FreeboardVO"%> <%@page import="java.util.List"%> <%@page import="kr.or.ddit.freeboard.service.IFreeboardServiceImpl"%> <%@page import="kr.or.ddit.freeboard.service.IFreeboardService"%> <%@page import="java.util.HashMap"%> <%@page import="java.util.Map"%> <%@ page language="JAVA" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<% String search_keyword = request.getParameter("search_keyword"); String search_keycode = request.getParameter("search_keycode");
Map<String, String> params = new HashMap<String, String>(); params.put("search_keyword", search_keyword); params.put("search_keycode", search_keycode);
IFreeboardService service = IFreeboardServiceImpl.getInstance();
List<FreeboardVO> freeboardList = service.freeboardList(params); %> <c:set var="freeboardList" value="<%=freeboardList %>"></c:set> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>자유게시글 목록</title> </head> <body> <div id="freeboardList_content"> <div class="panel panel-blue"> <div class="panel-heading">게시판 목록</div> <table class="table table-bordered table-hover"> <thead> <tr> <th scope="col" width="5%">No</th> <th scope="col" width="65%">제목</th> <th scope="col" width="10%">작성자</th> <th scope="col" width="10%">작성일</th> <th scope="col" width="10%">조회수</th> </tr> </thead> <tbody> <c:forEach items="${pageScope.freeboardList }" var="freeboardInfo"> <tr> <td>${freeboardInfo.rnum }</td> <td>${freeboardInfo.bo_title }</td> <td>${freeboardInfo.bo_nickname }</td> <td>${freeboardInfo.bo_reg_date }</td> <td>${freeboardInfo.bo_hit }</td> </tr> </c:forEach> </tbody> </table> </div> </div> <div > <form action="${pageContext.request.contextPath }/01/main.jsp" method="post" class="form-inline pull-right"> <input id="search_keyword" name="search_keyword" type="text" placeholder="검색어 입력..." class="form-control" /> <select class="form-control" name="search_keycode" > <option>검색조건</option> <option value="TOTAL">전체</option> <option value="TITLE">제목</option> <option value="CONTENT">내용</option> <option value="NICKNAME">작성자</option> </select> <button type="submit" class="btn btn-primary form-control">검색</button> <button type="button" class="btn btn-info form-control">게시글 등록</button> </form> </div> </body> </html> |
cs |
<freeboard.xml>
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="freeboard"> <typeAlias alias="freeboardVO" type="kr.or.ddit.vo.FreeboardVO"/>
<sql id="selectAll"> SELECT * FROM FREEBOARD WHERE BO_STATUS = 'n' </sql>
<sql id="searchCondition"> <dynamic prepend="AND"> <isNotEmpty property="search_keyword" open="(" close=")"> <isEqual property="search_keycode" compareValue="TOTAL"> BO_TITLE LIKE '%' || #search_keyword# || '%' OR BO_CONTENT LIKE '%' || #search_keyword# || '%' OR BO_NICKNAME LIKE '%' || #search_keyword# || '%' </isEqual> <isEqual property="search_keycode" compareValue="TITLE"> BO_TITLE LIKE '%' || #search_keyword# || '%' </isEqual> <isEqual property="search_keycode" compareValue="CONTENT"> BO_CONTENT LIKE '%' || #search_keyword# || '%' </isEqual> <isEqual property="search_keycode" compareValue="NICKNAME"> BO_NICKNAME LIKE '%' || #search_keyword# || '%' </isEqual> </isNotEmpty> </dynamic> </sql>
<select id ="freeboardList" parameterClass="map" resultClass="freeboardVO">
<include refid="selectAll"/> <include refid="searchCondition"/>
</select>
</sqlMap>
|
cs |
public List<FreeboardVO> freeboardList(Map<String, String> params)
dao service 단에 함수 만들기 !