학부공부/웹시스템설계및개발

JSTL를 이용한 조건문

IT grow. 2018. 9. 26. 17:38
반응형


coreTag2.html 파일 

--> 여기서는 Main문이 되겠다.

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

</head>

<body>

<h2>Core Tags2</h2><br>


<form action="coreTag2.jsp" method="get">

ID : <input type="text" name="id"><br>

COLOR : 

<SELECT name="color">

<option SELECTED VALUE ="yellow">옐로우</option>

<option VALUE ="blue">블루</option>

<option VALUE ="orange">오렌지</option>

<option VALUE ="pink">핑크</option>

</SELECT><br/>

<input type="submit" value="보내기">

</form>

</body>

</html>



coreTag2.jsp파일


<%@ 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 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>JSTL</title>

</head>

<body>


<h2>Core Tags2</h2>

<c:if test="${param.id != null}">

<b>${param.id}</b>

</c:if>

#--> 사용자가 id 입력 유무에 따른 조건문 

<c:if test ="${param.id ==null}">

<b>Guest</b>

</c:if>


<c:choose>

<c:when test="${param.color=='yellow'}">

<c:set var="c" value="노란색"/>

</c:when>


<c:when test="${param.color=='blue'}">

<c:set var="c" value="파란색"/>

</c:when>


<c:when test="${param.color=='orange'}">

<c:set var="c" value="오렌지색"/>

</c:when>


<c:when test="${param.color=='pink'}">

<c:set var="c" value="핑크색"/>

</c:when>


<c:otherwise>

<c:set var="c" value="블랙"/>

</c:otherwise>

</c:choose>


님이 좋아하는 색상은 <font color="${param.color}">${c}</font>입니다.

</body>

</html>


우리가 여기서 자세히 보아야 할 곳은 다음 부분들이다.


JSTL을 사용하기 위한 기본 조건인데 , taglib로써 prefix와 uri를 설정해 주어야 한다.

prefix는 core를 사용하기 위한 또는 접근하기위한 임의의 변수라고 생각하면 되고,

uri는 core의 주소경로를 써주면 되는데 , 이부분은 외우면 좋을 것 같다

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>


JSTL을 사용해서 java에서 사용하는 if , else - if 기능을 표현할 수 있는데,

<c:choose> 태그 안에 <c:when>을 통해 조건을 주고 when 조건이 다 false가 될 경우 

<c:otherwise> 조건으로 넘어가게 된다.

다음은 위 코드의 일부를 가져 온 것인데 , 해석해보면 다음과 같다.

받아온 select의 값이 yellow일 경우 c라는 변수에 노란색의 값을 저장 시킬 것이다 라는 의미


<c:choose>

<c:when test="${param.color=='yellow'}">

<c:set var="c" value="노란색"/>

</c:when>


만약 when조건에 다 부합하지 않을 경우 다음의 otherwise 조건으로 넘어 가게 될 것이다.

c 변수안에 블랙이라는 값을 저장시킨다.

마지막으로 c:choose로 선택절을 닫아주는것 까지 ... 완벽하다.

<c:otherwise>

<c:set var="c" value="블랙"/>

</c:otherwise>

</c:choose>


반응형