본문 바로가기
스마트인재개발원/Spring

[Spring]게시판 만들기(8) - list를 활용한 foreach문 사용 / jstl 날짜형식변경

by 죠졍니 2022. 10. 21.
728x90
반응형
SMALL

 


☆ List를 활용한 예제 ☆

<%@page import="java.util.Date"%>
<%@page import="java.util.ArrayList"%>
<%@page import="kr.smhrd.entity.Board"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- java에서 사용하는 for문 -->
<% 
	
	List<Board> list= new ArrayList<Board>();
	Board vo = new Board();
	vo.setIdx(1L);
	vo.setTitle("스프링 게시판");
	vo.setWriter("홍길동");
	vo.setIndate(new Date());
	vo.setCount(0L);
	list.add(vo);
	list.add(vo);
	list.add(vo);
	//객체바인딩
	request.setAttribute("list", list);
	
%>
<c:forEach var="vo" items="${list}">
	${vo.idx},${vo.title},${vo.writer},${vo.indate},${vo.count}<br>
</c:forEach>

</body>
</html>

 

 

 

 

 

 

 

1. list를 활용하여 list.jsp를 foreach문으로 바꾸기

 

1. import 선언 2개와 list선언문을 지운다.

 

삭제

 

 

 

제일 상단에 다음 코드 추가

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

 

 

 

 

다음과 같이 변경

<tbody>
    		<c:forEach var="vo" items="${list}">
				<tr>
    				<td>${vo.idx}</td>
    				<td>${vo.title}</td>
    				<td>${vo.writer}</td>
    				<td>${vo.indate}</td>
    				<td>${vo.count}</td>   				
    			</tr> 			
    				</c:forEach>			
    		</tbody>

 

 

 

2. JSTL 날짜형식변경하기

 

상단에 다음 코드 필수 추가

<%@ taglib prefix="fmt"  uri="http://java.sun.com/jsp/jstl/fmt"%>

 

value값은 본인이 해당하는 코드 삽입

<fmt:formatDate value="${vo.indate}" pattern="yyyy/MM/dd"/>

 

 

 

list.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="fmt"  uri="http://java.sun.com/jsp/jstl/fmt"%>
<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css">
  <script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.slim.min.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.bundle.min.js"></script>

	<script>
	$(document).ready(function(){
		
		$("button").click(function(){
		location.href="register.do";
		});
	});
	
	</script>
</head>
<body>
 
<div class="container">
  <h2>Spring MVC01</h2>
  <div class="card">
    <div class="card-header">BOARD</div>
    <div class="card-body">
    	<table class = "table table-bordered table-hover">
    		<thead>
    			<th>번호</th>
    			<th>제목</th>
    			<th>작성자</th>
    			<th>작성일</th>
    			<th>조회수</th>
    		</thead>
    		<tbody>
    		<c:forEach var="vo" items="${list}">
				<tr>
    				<td>${vo.idx}</td>
    				<td>${vo.title}</td>
    				<td>${vo.writer}</td>
    				<td><fmt:formatDate value="${vo.indate}" pattern="yyyy/MM/dd"/> </td>
    				<td>${vo.count}</td>   				
    			</tr> 			
    				</c:forEach>			
    		</tbody>
    	</table>
    	<button class="btn btn-sm btn-primary">글쓰기</button>
    </div> 
    <div class="card-footer">AI.BigData 취업역량강화_조정은</div>
  </div>
</div>

</body>
</html>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형
LIST