gwooden_코린이
JSTL 자카르타 아파치 사용해보기 본문
728x90
1. JSTL 자카르타 아파치 - JSP Standard Tag Library
Apache Taglibs - Apache Standard Taglib: JSP[tm] Standard Tag Library (JSTL) implementations
<!-- Copyright 1999-2011 The Apache Software Foundation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/
tomcat.apache.org
2. core 태그 - [ ] 대괄호 안에 있는 건 생략가능 의
- <c:set> 태그 : 변수에 값을 설정
- <c:set var="변수명" value="값" [scope="유효범위"]>
- 값
- </c:set>
- -----------------------------------
- <c:set var="객체이름" value="<%=new 패키지명.클래스명()%>"/>
- ex)<jsp:useBean id="num" class="com.gwooden.javabeans.NumberBean"/>
- -----------------------------------
- <c:set target="객체이름" property="프로퍼티이름" value="값"
- ex) <jsp:setProperty property="*" name="num" value="qwer"/>
- <c:remove> 태그 : 변수 제거
- <c:remove var="삭제할 변수명" [scope="유효범위"]/>
- 지울때 scope가 일치하지 않으면 다른걸로 인식해서 안지워짐
- <c:if> 태그 : 자바 if랑 같은거 else가 없음
- <c:if test="조건식">
- 조건식이 참일때 코드
- </c:if>
- <c:choose> else 부분까지 처리 가능
- <c:choose>
- <c:when test ="조건식1">
- 조건식1참코드
- </cwhen>
- <c:when test ="조건식2">
- 조건식2참코드
- </cwhen>
- <c:otherwise>
- 모두 거짓 코드
- </c:otherwise>
- </c:choose>
- <c:choose>
- <c:forEach> 태그 : 반복문
- <c:forEach var="임시변수" items="배열">
- 반복할 코드
- </c:forEach>
- <c:redirect> response.send
- <c:redirect url=" 주소/경로 "></c:redirect>
- <c:out> 태그 : 출력문
- ${ } EL 언어가 더 편할수도...
- <c:out value="값" [default="기본값"]/>
- <c:catch> 태그 : try ~ catch랑 같은 것
- <c:catch var="변수이름">
- 예외 발생이 될 수도 있는 코드
- </c:catch>
- <c:remove var="삭제할 변수명" [scope="유효범위"]/>
-유효범위 종류
- page
- request
- session
- application
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ 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>Insert title here</title>
</head>
<body>
<c:out value="jstl test"/>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form method="get" action="ifResult.jsp">
<h1>if 연습용</h1>
<select name="colors">
<option value="빨강">빨강</option>
<option value="파랑">파랑</option>
<option value="노랑">노랑</option>
</select>
<br>
<h1>choose 연습용</h1>
<select name="grade">
<option value="1">1학년</option>
<option value="2">2학년</option>
<option value="3">3학년</option>
</select>
<input type="submit" value="전송">
</form>
</body>
</html>
<%@ 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>Insert title here</title>
</head>
<body>
<h1>if 결과</h1>
<c:if test="${param.colors == '빨강'}">
빨강을 선택<br>
</c:if>
<c:if test="${param.colors == '파랑'}">
파랑을 선택<br>
</c:if>
<c:if test="${param.colors == '노랑'}">
노랑을 선택<br>
</c:if>
<h1>choose 결과</h1>
<c:choose>
<c:when test="${param.grade == 1}">
1학년 입니다.
</c:when>
<c:when test="${param.grade == 2}">
2학년 입니다.
</c:when>
<c:otherwise>
3학년 입니다.
</c:otherwise>
</c:choose>
</body>
</html>
문제
전송.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form method="get" action="ageInfo.jsp">
나이 : <input type="text" name="age">
<input type="submit" value="전송">
</form>
</body>
</html>
<%@ 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>Insert title here</title>
</head>
<body>
<h1>결과</h1>
<c:choose>
<c:when test="${param.age <= 100 && param.age >= 20}">
성인
</c:when>
<c:when test="${param.age < 20 && param.age >= 17}">
고딩
</c:when>
<c:when test="${param.age < 17 && param.age >= 14}">
중딩
</c:when>
<c:when test="${param.age < 14 && param.age >= 8}">
초딩
</c:when>
<c:when test="${param.age < 8 && param.age >= 0}">
초딩
</c:when>
<c:otherwise>
나이 초과 입력
</c:otherwise>
</c:choose>
</body>
</html>
<%@ 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>Insert title here</title>
</head>
<body>
<%
String[] langList = {"JAVA", "HTML", "CSS", "JSP"};
pageContext.setAttribute("langList", langList);
%>
<c:forEach var="list" items="${langList}" varStatus="status">
값 : ${list}<br>
반복횟수 : ${status.count}<br>
인덱스 : ${status.index}<br>
first? : ${status.first}<br>
last? : ${status.last}<br>
<hr>
</c:forEach>
<c:forEach var="cnt" begin="1" end="10" step="2">
${cnt}<br>
</c:forEach>
<c:redirect url=""></c:redirect>
</body>
</html>
<%@ 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>Insert title here</title>
</head>
<body>
<c:set var="name" value="티모"/>
이름(EL) : ${name} <br>
이름(out) : <c:out value="${name}"/>
<h1>name 삭제</h1>
<c:remove var="name"/>
이름(EL) : ${name} <br>
이름(out) : <c:out value="${name}" default="이름없음"/><br>
<h1>catch 구경</h1>
<c:catch var="errmsg">
에러 발생 전 <br>
<%=10/0%>
에러 발생 후<br>
</c:catch>
${errmsg}<br>
<c:out value="${errmsg}" default="정상작동"/>
</body>
</html>
728x90
'JSP&Servlet' 카테고리의 다른 글
jsp를 이용한 회원가입 페이지 한국어/영어 구현해보기 (0) | 2023.01.27 |
---|---|
fmt 태그 사용해보기 (0) | 2023.01.26 |
표현언어(EL)로 내장객체 (0) | 2023.01.26 |
자바 빈(java bean) model (0) | 2023.01.25 |
세션을 이용한 로그인 구현해보기 (0) | 2023.01.25 |
Comments