JSTL은 JavaServer Pages(JSP)를 위한 표준 태그 라이브러리이다.
JSTL은 JSP개발을 간편하게 하고 코드의 가독성과 재사용성을 높이기 위해 개발되었다.
JSTL은 JSP 페이지에서 사용할 수 있는 태그와 함수의 모음을 제공하여 서버측 로직을 간소화하고 작업을 처리할 수 있게 한다.
[출처] JSTL(JSP Standard Tag Library)|작성자 요니
-쇼핑몰에서 많이 사용하는 상품목록!
필요파일: java파일,jsp파일2개 필요
java파일은, 제품목록을 만든다
간단하게 배열로... 멤버변수 아래에 getter메소드를 만들면 됨.
public class Product {
private String[] productList = {"TV","오디오","냉장고","스마트폰","에어콘"};
private int num1 = 10;
private int num2 = 20;
select파일
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!-- 추가 -->
<% request.setCharacterEncoding("UTF-8"); %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>productSelect.jsp 페이지</title>
</head>
<body>
<jsp:useBean id="pro" class="product.Product"/>
<h2>제품 선택</h2>
<hr>
1.선택한제품은: ${param.sel}<br>
2.연산문 사용 예: num1 + num2 = ${pro.num1 + pro.num2}
</body>
</html>
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>productList.jsp 페이지/jstl 미적용</title>
</head>
<body>
<h2>제품목록</h2>
<hr>
<form name="productForm" method="POST" action="productSelect.jsp">
<jsp:useBean id="pro" class="product.Product" />
<select name="sel">
<%--
<%
for(String item : pro.getProductList()){
out.println("<option>"+item+"</option>");
}
%>
--%>
아래로↓ jstl문장으로 변경
<c:forEach var="item" items="${pro.productList}">
<option>${item}</option>
</c:forEach>
</select>
<input type="submit" value="선택"/>
</form>
</body>
</html>
설명: <% %>안에 자바 코드를 기술한 내용을 jstl문장으로 변경한 내용이다
자바코드로는 for문으로 아이템 목록을 만들었다. 같은 내용으로 더 짧게 jstl로 서술이 가능하다. jstl은 <c:forEach> 로 변경을 했다. for문이니깐 forEach로~
--클릭 후 아래 페이지로 넘어감
왜 2. 연산문이 나오냐면 ${}쓰면 그안에 연산 값이 나올수 있다는걸 보여주기위해!
개발자로서 배울 점이 많은 글이었습니다. 감사합니다.