JSP회원가입 및 게시판

<게시판만들기>-게시판 출력하기

byeol2ing 2020. 6. 28. 15:34
반응형

게시판리스트와 검색 구현

 

<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<StringString> params = new HashMap<StringString>();

    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>

Colored by Color Scripter

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>

 

 

 

 

 

 

Colored by Color Scripter

cs

 

 

public List<FreeboardVO> freeboardList(Map<String, String> params)

dao service 단에 함수 만들기 !

 

 

 

반응형