본문 바로가기
Web Programming/JAVA MVC

Controller에서 ArrayList Vo를 JSP로 보내고, JSP에서 받고 사용하기.

by hyeon-H 2021. 6. 28.
728x90
반응형

Controller에서 ArrayList Vo를 JSP로 보내고
JSP에서 ArrayList Vo를 받아 사용하기.

Controller에서 request.setAttribute()로 보내고, JSP에서 request.getAttribute()로 가져오기

get, set attribute

Controller ( 보내기)

if(str2.equals("EventMan_Mypage_myboardlist.do")) {
  .
  .
  .
  BoardServiceImpl boarddao = new BoardServiceImpl();
  ArrayList alistboard = boarddao.selectmyboardlist(midx);

  request.setAttribute("alistboard", alistboard);

  RequestDispatcher rd =request.getRequestDispatcher("/EventMan_Mypage/EventMan_Mypage_myboardlist.jsp");
  rd.forward(request, response);
}

request.setAttribute("key", value);
request.setAttribute("alistboard", alistboard);
request.setAttribute의 키와 값을 이용하여 Attrubute에 담아 JSP로 보내게 된다.


JSP ( 받아오기)

스크립틀릿에서 request.getAttribute를 이용하여 컨트롤러에서 setAttribute해준 키값을 가져온다.
이때 중요한것은 타입을 잘 맞춰줘야한다.

.
.
.
<% 
  ArrayList<EvBoardAskVo> alistboardask = (ArrayList<EvBoardAskVo>)request.getAttribute("alistboard");   
%>    

<!doctype html>
<html>
<head>

JSP에서 사용하기 ( 사용하기 )

<%= %> 안에서 vo에서 getter를 이용해서 데이터를 꺼내오는 방법이다.

<% for(EvReviewVo erv : reviewList){ %>
  <div class="col">
    <div class="card shadow-sm">
    	<a href="javascript:void(0);" onclick="detailFn('<%=erv.getHidx()%>')">
    		<img class="bd-placeholder-img card-img-top stretched-link" width="100%" height="225" src="../Advice_img/<%=erv.getHimg()%>"></img>
    	</a>
   		<title><%=erv.gethName() %></title>
    	<div class="card-body">
    		<div class="justify-content-between align-items-center">
    			<p class="card-text hname"><%=erv.gethName() %></p>
    			<small class="text-muted"><%=erv.getstartdate() %>~<%=erv.getendenddate() %></small>
    		</div>	
    	</div>
    </div>
  </div>
<%}; %>

 

728x90
반응형