본문 바로가기

JAVA/JSP

JSP - JSTL 정의 및 다운로드, 사용유무 비교예제

반응형


**JSTL 정의

: 가능하면 jsp는 tag만으로 구성하고 자바문법을 걷어 내자

for, if 이런 자바문법을 대신하는 tag


필요하다면 개발자가 원래 html이 가지고 있는 태그 이외의 태그를 만들 수 있다.

==> '사용자 정의 태그' 라고 한다(custom tag)

==> 이러한 custom tag 중에 기본적으로 널리 많이 쓰이는 태그를 표준으로 만들어 둔것을

"JSTL" 이라고 한다.


** jstl 다운로드


경로

jakarta.apache.org

Ex-Jakarta

Taglibs

Apache Standard Taglib (링크)

(어느버전을 해도 상관없지만 양이 많다.)

Version Standard 1.0

binaries

jakarta-taglibs-standard-1.1.2.zip


압축풀기

C:\Users\USER\Downloads\jakarta-taglibs-standard-1.1.2\jakarta-taglibs-standard-1.1.2\lib

이 안에 있는 파일 두개를

이클립스 WebContent-> WEB-INF -> lib 폴더에 붙여넣는다.


그다음 사용할 jsp문서 위에 지시자를 설정해준다.

(prefix : 접두어(내맘대로) , uri : 경로)

(접두어는 왠만하면 c라고한다)

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




비교예제)


하기전


<%@page import="com.hanb.vo.BoardVo"%>

<%@page import="java.util.ArrayList"%>

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

<h2>게시물 목록</h2>

<hr>

<table border="1" width="60%"> 

<tr>

<td>번호</td>

<td>제목</td>

<td>작성자</td>

<td>등록일</td>

</tr>


<%

ArrayList<BoardVo> list =(ArrayList<BoardVo>)request.getAttribute("list");

for(BoardVo b : list){

%>


<tr>

<td><%=b.getNo() %></td>

<td><%=b.getTitle() %></td>

<td><%=b.getWriter() %></td>

<td><%=b.getRegDate() %></td>

</tr> 

<%

}

%>

</table>

</body>

</html>



한 후


<%@page import="com.hanb.vo.BoardVo"%>

<%@page import="java.util.ArrayList"%>

<%@ 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 PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

<h2>게시물 목록</h2>

<hr>

<table border="1" width="60%"> 

<tr>

<td>번호</td>

<td>제목</td>

<td>작성자</td>

<td>등록일</td>

</tr>


<!-- item은  리스트에 실린만큼 돌아가라는 뜻 var 변수이름 정해주기(list에 실린것을 여기에 담는것)-->


<c:forEach var="b" items="${list }">

<tr>

<td>${b.no }</td>

<td>${b.title }</td>

<td>${b.writer }</td>

<td>${b.regDate }</td>

</tr>

</c:forEach>

</table>

</body>

</html>





반응형