[글 리스트 만들기]
▶ index 페이지 구현
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
<style type="text/css">
a:link { color: black; text-decoration: none;}
a:visited { color: black; text-decoration: none;}
a:hover { color: black; text-decoration: underline;}
</style>
</head>
<body>
<h3>게시판</h3>
<c:if test = "${empty sessionScope.loginId }">
<a href = "${pageContext.request.contextPath }/member/login">로그인 하기 </a>
</c:if>
<c:if test = "${not empty sessionScope.loginId }">
<button><a href = "${pageContext.request.contextPath }/member/logout"> 로그아웃</a></button><br/>
<br/>
<button><a href = "${pageContext.request.contextPath }/member/myinfo?id=${sessionScope.loginId }"> 내 정보 확인 </a></button><br/>
<br/>
<button><a href = "${pageContext.request.contextPath }/member/out?id=${sessionScope.loginId }">탈퇴</a></button></br>
</br>
<button><a href = "${pageContext.request.contextPath }/board/boardmain"> 게시판 보러가기 </a></button><br/>
</br>
<button><a href = "${pageContext.request.contextPath }/imgboard/list"> 이미지 게시판 </a></button><br/>
</c:if>
</body>
</html>
이미지 게시판을 누르면 이미지 게시판 servlet 에 가도록 링크를 걸어 놓는다.
▶ servlet 구현
package imgboard.controller;
import java.io.IOException;
import java.util.ArrayList;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import img_reps.ImgrepVo;
import img_reps.ImgrepsService;
import imgboard.ImgService;
import imgboard.ImgVo;
/**
* Servlet implementation class list
*/
@WebServlet("/imgboard/list")
public class list extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public list() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("euc-kr");
response.setCharacterEncoding("euc-kr");
response.setContentType("text/html; charset = EUC-KR");
ImgService service = new ImgService();
ImgrepsService serv = new ImgrepsService();
ArrayList<ImgVo> list = service.getAll();
for (ImgVo vo:list) {
ArrayList<ImgrepVo> reps = serv.getReps(vo.getNum());
vo.setReps(reps);
}
request.setAttribute("list", list);
RequestDispatcher dis = request.getRequestDispatcher("/imgboard/list.jsp");
dis.forward(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
● ImgService service = new ImgService();
이미지보드 서비스 객체 생성
● ImgrepsService serv = new ImgrepsService();
이미지답글 서비스 객체 생성
● ArrayList<ImgVo> list = service.getAll();
아까 ImgVo 에서 만들어 준 private ArrayList<ImgrepVo> reps; 를 여기서 사용 해 준다.
● for (ImgVo vo:list) {
vo 객체에 있는 리스트 객체들을 for 문을 돌면서 하나씩 값을 뺴 준다.
● ArrayList<ImgrepVo> reps = serv.getReps(vo.getNum());
ArrayList<ImgrepVo> reps : ArrayList를 만들껀데 이름이 reps 이고
serv.getReps(vo.getNum()) : 이미지 답글의 댓글리스트를 뽑을 껀데 파라미터로 int 값을 받는다
근데 그 int 값을 public class ImgVo 의 private int num; 으로 받아서 int 조건이 충족 된다.
● vo.setReps(reps); }
ImgVo의 private ArrayList<ImgrepVo> reps; 의 setReps 값에 ArrayList<ImgrepVo> reps의 reps 값을 할당해 준다.
'비동기 요청' 카테고리의 다른 글
[비동기 요청] 비동기 요청을 이용한 이미지 게시판 만들기 ⑤ (0) | 2023.04.09 |
---|---|
[비동기 요청] 비동기 요청을 이용한 이미지 게시판 만들기 ④ (0) | 2023.04.07 |
[비동기 요청] 비동기 요청을 이용한 이미지 게시판 만들기 ② (0) | 2023.04.06 |
[비동기 요청] 비동기 요청을 이용한 이미지 게시판 만들기 ① (0) | 2023.04.06 |