들어가기 전에
프론트 개발자가 JSP를 수정하는데, JSP 안에 자바코드와 HTML코드가 섞여 있다면 수정할 때 굉장히 어려움을 느끼게 될 가능성이 큽니다.
이런 문제를 해결하기 위해서 등장한 것이 JSTL입니다.
JSTL을 이용하면 태그형식으로 조건문, 반복문 등을 사용할 수 있습니다.
그리고, 앞에서 배운 EL과 연동하면 더욱 강력하게 사용 가능합니다.
이번 시간엔 이러한 JSTL에 대해서 알아보도록 하겠습니다.
학습 목표
- JSTL을 이해한다.
- JSTL을 사용할 수 있다.
핵심 개념
학습하기
실습코드
jtl06.jsp
redirect의 활용
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:redirect url="jstlRedirectPage.jsp"></c:redirect>
jstlRedirectPage.jsp
redirect의 활용
<%@ 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>
<h1> redirect된 화면입니다.</h1>
</body>
</html>
코어 태그: 기타태그 - out
코드실습
jstl07.jsp
out의 활용
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<!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>
<c:set var="t" value="<script type='text/javascript'>alert(1);</script>" />
${t}
<c:out value="${t}" escapeXml="true" />
<c:out value="${t}" escapeXml="false" />
</body>
</html>
생각해보기
- JSTL의 태그는 XML태그 문법을 사용합니다. 그래서 반드시 태그가 닫히거나 '/>'로 끝나야 합니다. JSP가 제공하는 문법 중 사용자 정의 태그라는 것을 통해 만들어졌기 때문입니다. 이번 시간엔 JSTL의 core태그에 대해서 살펴봤는데요. 그 외의 태그들에는 어떤 게 있는지 찾아보고, 왜 그러한 태그가 필요한지 생각해보세요.
참고 자료
comment
24.04.04.
2022.03.21
220224
* jsp를 사용해야 하는 상황에서 JSTL을 이용해 최대한 보여지는 자바코드를 jstl로 작성하면 자바언어를 모르는 사람들도 쉽게 사용할 수 있기 때문에 JSTL 태그들을 다양하게 사용할 필요가 있다.
21.05.12
으아아아악 끝났다!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! EL JSTL 진짜 힘들었네요 ㅠㅠ
좋아요
jar 파일들을 해당 폴더에 넣었는데 이클립스상에서 파일이 보이지도 않고 run하면 다음과 같은 오류가 나오네여
"절대 URI인 [http://java.sun.com/jsp/jstl/core]을(를), web.xml 또는 이 애플리케이션과 함께 배치된 JAR 파일 내에서 찾을 수 없습니다."
실습을 진행할 수가 없어요 ㅠㅠ 구글링 해봐도 답을 못찾겠네여 참고로 mac 사용자입니다.
2020.05.28 완료
jstl은 태그 형식으로 로직을 수행할 수 있도록 도와줌
해외대학에서 프로그래밍 공부중인데, 10년전 기술을 배우고 있는 것 같은 반면에,
네이버 부스트에서 정말 도움을 많이 받고 있습니다. 감사합니다.
이렇게 복잡하고 지저분하니 갈수록 요즘 추세가 자바를 꺼려하는 듯..
최하단 참고자료의 링크가 변경된것같아요.
http://homepage.divms.uiowa.edu/~slonnegr/wpj/jqr.pdf
여기로 들어가시면 받을수 있어용
역대급으로 힘든파트다...
여러가지 문법들 머리속에 잘 안들어와져서 프로젝트 하게되면 다시 보는데에만 시간이 많이 걸릴 것 같네요 ㅎㅎ;
<c:set var="n" scope="request" value="10"/>
이렇게 지정한 변수를
<%=(int)request.getAttribute("n") %>
이 같이 표현식으로 꺼낼 때 int로 형변환이 안 되는거 같은데 왜그러죠?
잘들었습니다. 감사합니다!
비공개 글입니다.
비공개 글입니다.
비공개 글입니다.