본문 바로가기
웹 프로그래밍(풀스택-->java)/웹프로그래밍(백엔드-->java)

42. Jsp 중고급 - 4. JSTL

by 백엔드개발자0107 2021. 12. 9.

자, 오늘은 jstl이라는 수업을 진행해 볼 것이다.

 

이 jstl이라는 것은 자바 스탠다드 태그 라이브러리를 의미한다.

 

이 jsp에서 사용하는 태그 라이브러리가 또 있다.

 

기본적으로 <jsp:include>이외에 또 다른 여러가지 jsp태그 라이브러리가 존재한다.

 

https://daesuni.github.io/jstl/

 

JSTL의 기본 개념과 사용방법 정리

1. JSTL이란?

daesuni.github.io

 

위 링크를 보면서 공부하도록 하자..!

 

태그로 if문 foreach문등 태그로 표현을 할수 있도록하는 여러개의 라이브러리를 제공하며,

 

주로 많이 쓰는 태그가 core태그이다.

 

즉, 자바 코드는 사라지고 태그로 쓰는 것이다.

 

그래서 모델 2로 넘어가서는 import forEach문등을 쓴다.

 

이런 jsp스탠다드 태그 라이브러리를 이용해서 자바처럼 사용한다.

 

즉 jsp모델1방식을 막아놓은것을 jsp모델 2방식이라고 할수 있다.

 

즉 모델2방식은 기본적인 태그 방식이다.

 

아, jstl 적용법이 정말로 애먹었다.. 개발자의 숙명인가..

 

일단 구글링해서 인텔리제이에다가 jstl.jar파일을 홈브루로 다운받은 톰캣 서버 lib폴더내에 servlet.jar와 jstl.jar 파일을 넣는다.

 

그리고 pom.xml을 다음과 같이 수정한다.

 

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>groupId</groupId>
    <artifactId>JSP</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>15</maven.compiler.source>
        <maven.compiler.target>15</maven.compiler.target>
    </properties>


    <dependencies>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
    </dependencies>


</project>

이거 기억하자..!

 

JstlTest.jsp

 

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--
  Created by IntelliJ IDEA.
  User: jeongdahyeon
  Date: 2021/12/09
  Time: 3:57 PM
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


<html>
<head>
    <title>Title</title>
</head>
<body>
<%--request.setAttribute("i",4)와 동일한 의미이다--%>
<%--//변수를 다이렉트로 바로 접근 불가하다.--%>
<%--그리고 위 코드는 모델 1이다. 즉 자바코드를 뺴지 않았다.--%>
<%--고로 변수 선언하는 방법을 배워보자--%>

<c:set var = "i" value="4"/>


<%--if문 사용법--%>

<c:if test="${i>3}">
안녕하세요
</c:if>

<!-- 반복문 for -->
<c:forEach var="i" begin="1" end="10" >
    점심시간입니다.
</c:forEach>
<%--//step을 안쓰면 자동으로 1씩 증가가 된다.--%>

</body>
</html>

위 코드와 주석을 잘 보도록 하자.!