본문 바로가기
Spring

2022-12-02 정적파일보관, JSTL사용법

by HTT 2022. 12. 5.

정적파일(이미지파일, css, html, jsp...) 저장하는 곳

=> wepapp / resource (테스트하는 곳,바로 웹화면에 뿌려줌)

 

<!-- spring-config.xml -->
<resources mapping="/resources/**" location="/resources/" />

resources폴더의 하위폴더에 있는 파일들을 "/resources/**" 이런식으로 요청해서 보겠다는 것.

 

 

이 경로를 수정할수도 있는데 수정하게 되면 스프링설정파일에서 수정해주면 된다.

<resources mapping="/images/**" location="/WEB-INF/static/images/" />

 

WEB-INF폴더 하위에 static폴더를 만들어주고 여기에 저장해준다. 구분하기 위해 images폴더를 만들어 이미지 파일을 넣어주고 "/images/**"의 경로로 요청했을 때 이미지를 보여주도록 등록한다.

location = "/상대경로/images/이미지파일 이름.jpg"

 

 

 

JSTL

 

자바서버 페이지 표준 태그 라이브러리(JavaServer Pages Standard Tag Library)로 Java EE 기반의 웹 애플리케이션 개발 플랫폼을 위한 컴포넌트 모음이다. JSP 페이지 내에서 자바 코드를 바로 사용하지 않고 로직을 내장하는 효율적인 방법을 제공한다.

-위키백과-

 

 

 

- 사용방법

 

상위 태그에 꼭 작성해주기

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

 

 

- 자바 코드로 작성했던 for문 jstl로 바꾸기

 

* 자바 코드

<%
	ArrayList<BoardDTO> boardlist = (ArrayList<BoardDTO>)request.getAttribute("boardlist"); 
	int size = boardlist.size();
%>

<% for(int i=0; i<size; i++){
	BoardDTO board = boardlist.get(i);%>
<tr>
	<td><%=board.getBoard_no()%></td>
	<td><a
		href="/mvc/board/read.do?board_no=<%=board.getBoard_no()%>&state=READ"><%=board.getTitle()%></a></td>
	<td><%=board.getId()%></td>
	<td><%=board.getWrite_date()%></td>
	<td><a href="/mvc/board/delete.do?board_no=<%=board.getBoard_no()%>">삭제</a></td>
</tr>
<%} %>

 

 

* jstl

<%
	ArrayList<BoardDTO> boardlist = (ArrayList<BoardDTO>)request.getAttribute("boardlist"); 
%>

<c:forEach var="user" items="${boardlist }">
	<tr>	
		<td>${user.board_no }</td>
		<td><a href="/mvc/board/read.do?board_no=${user.board_no }&state=READ">${user.title}</a></td>
		<td>${user.id}</td>
		<td>${user.write_date}</td>
		<td><a href="/mvc/board/delete.do?board_no=${user.board_no }">삭제</a></td>
	</tr>
</c:forEach>

=> <c:forEach var=" 변수명 " items="${ 데이터 받아온 배열의 변수명 }">

 

코드가 훨씬 간결해지고 보기도 좋아졌다. jstl사용할 때 URI등록하는 거 잊지 말기!

댓글