<JSTL-실습>JSTL이란 + 실습정리

J의 괴발 공부·2023년 8월 16일
0

java

목록 보기
9/13

JSTL이란?

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. 연산문이 나오냐면 ${}쓰면 그안에 연산 값이 나올수 있다는걸 보여주기위해!

profile
괴발자가 될것인가, 개발자가 될것인가?

1개의 댓글

comment-user-thumbnail
2023년 8월 16일

개발자로서 배울 점이 많은 글이었습니다. 감사합니다.

답글 달기