반응형

💡 JSP의 조건문, URL 매개변수에 3개를 전달해서 조건에 따라 출력하기

📂 MultiParamController.java

   TODO : 예제 3) JSP의 조건문, URL 매개변수 3개를 전달해서 조건에 따라 출력하기
//     URL 테스트 : http://localhost:8000/exam03/condition?name=삼식이&color=brown&kind=dog
    @GetMapping("/condition")
    public String setCondition(Model model,
                               @RequestParam(defaultValue = "") String name,
                               @RequestParam(defaultValue = "") String color,
                               @RequestParam(defaultValue = "") String kind)
    {
        model.addAttribute("name", name);
        model.addAttribute("color", color);
        model.addAttribute("kind", kind);
        return "/exam03/condition.jsp";
    }
}

📂 condition.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%--TODO : JSTL 표현식 사용을 위한 import--%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <%--    TODO 부트스트랩 CSS CDN --%>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet"
          integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous">
</head>
<body>
    <div class="container">
        <h2>매개변수(파라메터) 전달받아 출력하기</h2>
        <p>${name}</p>
        <p>${color}</p>
        <p>${kind}</p>

<%--        TODO : if 조건문으로 출력하기: jstl 표현식, else 없음 사용--%>
<%--         사용법 : <c:if test="${조건식}">실행문</c:if>--%>
        <c:if test="${name == '삼식이'}">
            <p>삼식이가 맞습니다.</p>
        </c:if>
    </div>
</body>
</html>

✅ JSP의 if 조건문

JSP에서 if 조건문을 사용할 경우에는 JSTL 표현식을 사용합니다. 사용법은 아래와 같습니다.

<c:if test="${조건식}> 실행문 </c:if>

단 JSP의 if 조건문은 JAVA에서 처럼 else구문이 따로 없는것이 특징입니다.

 

그럼 else 구문을 사용하려면 어떻게 해야할까요?

 

✅ JSP의 choose 조건문

choose 조건문은 JAVA의 if ~ else if 구문과 비슷합니다.

 

JAVA의 else 구문과 같은 의미인 otherwise가 있습니다.

 

📌 choose 조건문

<%--        TODO : choose 조건문으로 출력하기, else 있음--%>
        <c:choose>
            <c:when test="${color == 'brown'}">
                갈색입니다.
            </c:when>
            <c:when test="${color == 'yellow'}">
                노란색입니다.
            </c:when>
            <c:otherwise>
                다른색입니다.
            </c:otherwise>
        </c:choose>

📌 사용법

// TODO: choose 조건문으로 출력하기 , else 있음

사용법 
<c:choose>
(if, else if): <c:when test="조건문">실행문</c:when>
(else): <c:otherwise>실행문</c:otherwise>
</c:choose>

📌 출력결과

반응형

+ Recent posts