<%@ page~ %>

<%@ include file %>
<jsp:include page= />

<%@ taglib %>

 

JSTL 소개

<%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/cone" %>
<%@ taglib prefix = "fmt" uri = "http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix = "sql" uri = "http://java.sun.com/jsp/jstl/sql" %>
<%@ taglib prefix = "x" uri = "http://java.sun.com/jsp/jstl/xml" %>

 

코어 라이브러리

<c:out> 태그

  1. <%@ page contentType = "text/html; charset=euckr" %>
    <%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>
    <html>
    <body>
        <c:set var = "pass" value="${param.pass}" /> <!-- 이건 <c:set> 태그 이다. -->
        <c:out value="${pass}" />
    </body>
    </html>

 

<c:if > 태그

  1. <%@ page contentType = "text/html; charset=euckr" %>
    <%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>
    <html>
    <body>
        <c:set var = "pass" value="${param.pass}" />
        <c:if test="${!empty pass}">
            Pass value : ${pass}
        </c:if>
        <c:if test="${empty pass}">Please input param...
        </c:if>
        <%-- <c:out value="${pass}" />  --%>
    </body>
    </html>

 

  1. <%@ page contentType = "text/html; charset=euckr" %>
    <%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>
    <html>
    <body>
        <c:set var = "pass" value="${param.pass}" />
        <c:if test="${!empty pass}">
            Pass value : ${pass}
        </c:if>
       
        <c:if test="${pass eq 'hello'}">, welcome
        </c:if>
       
        <c:if test="${pass ne 'hello'}">Again!!
        </c:if>
       
        <c:if test="${empty pass}">Please input param...
        <!-- pass parameter의 값에 따라 다른 값을 출력하는 것 -->

        </c:if>
    </body>
    </html>

 

<c:if> 태그 이용하여 파라메터에 따라 다른 값 출력하기

  1. <%@ page contentType = "text/html; charset=euckr" %>
    <%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>
    <html>
    <body>
        <c:set var="score" value="${param.score}" />
            score : ${score}
            <br>
        <c:choose>
            <c:when test="${(100 >= score) && (score >= 90)}">
                <c:out value="'수'를 받으실 수 있겠네요!!" />
            </c:when>
            <c:when test="${(90>score) && (score >=80)}">
                <c:out value="'우'는 받으실 수 있겠네요." />
            </c:when>
            <c:when test="${ (80>score) && (score >= 70) }">
                <c:out value="'미'는 받으실 수 있겠어요. ㅡㅅ-);" />
            </c:when>
            <c:when test="${ (70>score) && (score >= 60) }">
                <c:out value="'양'는 받으실 수 있겠어요. ㅡㅅ-);" />
            </c:when>
            <c:when test="${ (60>score) && (score >= 50) }">
                <c:out value="'가'는 받으실 수 있겠어요. ㅡㅅ-);" />
            </c:when>
            <c:otherwise>
                <c:out value="모르겠네요. ㅡㅅ-); 뭘 입력한거에요? 공부좀 하세요." />
            </c:otherwise>
        </c:choose>

    </body>
    </html>

 

<c:forEach> 태그 이용하여 구구단 표현하기

  1. <%@ page contentType = "text/html; charset=euckr" %>
    <%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>
    <html>
    <body>
        <table border="1">
        <c:forEach var="x" begin="1" end="9" step="1">
            <tr>
            <c:forEach var="y" begin="1" end="9" step="1">
            <td><c:out value="${y}" /> X <c:out value="${x}" /> = <c:out value="${x*y}"/></td>
            </c:forEach>
            </tr>
        </c:forEach>

        </table>     
    </body>
    </html>

gugudan.JPG

<c:import> 태그 사용

  1. <%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
    <%@ 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>
    <body>
        <h1>이것은 구구단이다.</h1>
        <hr>
        <c:import url="test.jsp" />
        <hr>
    </body>
    </html>

importGugudan.JPG

<c:redirect> 태그 사용

  1. <%@ page contentType = "text/html; charset=euckr" %>
    <%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>
    <html>
    <body>
        <c:set var = "pass" value="${param.pass}" />
        <c:if test="${!empty pass}">
            Pass value : ${pass}
        </c:if>
      
        <c:if test="${pass eq 'hello'}">, welcome
        </c:if>
      
        <c:if test="${pass ne 'hello'}">
            <c:redirect url="test.jsp" />
        </c:if>
      
        <c:if test="${empty pass}">Please input param...
        <!-- pass parameter의 값에 따라 다른 값을 출력하는 것 -->

        </c:if>
    </body>
    </html>

 

SQL 라이브러리

  1. <%@ page contentType = "text/html; charset=euckr" %>
    <%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>
    <%@ taglib prefix = "sql" uri = "http://java.sun.com/jsp/jstl/sql" %>

    <sql:setDataSource
        var="ds"
        driver = "oracle.jdbc.driver.OracleDriver"
        url = "jdbc:oracle:thin:@127.0.0.1:1521:cjedu"
        user = "scott"
        password = "tiger"
    />


    <sql:query dataSource="${ds}" var="rs">
        SELECT * FROM customer
    </sql:query>


    <html>
        <table border = "1" >
            <c:forEach var="row" items="${rs.rows}"> <!-- <sql:query></sql:query> 사이에 있는 결과값이 저장된 rs에서 한 행씩 불러옴
          <!-- for(row:rs.rows) 형태라고 생각하면 된다. -->
                <tr>
                    <td>${row.num}</td>
                    <td>${row.name}</td>
                    <td>${row.address}</td>
                </tr>
            </c:forEach>

        </table>
    </html>               

sqlQuery.JPG

 

<c:include> 태그를 이용해서 처리하는 방법: DataSource 풀 사용

  1. <%@ page contentType = "text/html; charset=euckr" %>
    <%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>

    <%@ include file="OracleInfo.jsp" %>
    <sql:query dataSource="jdbc/oracle" var="rs">
        SELECT * FROM store
    </sql:query>

    <html>
        <table border = "1" >
            <c:forEach var="row" items="${rs.rows}">
                <tr>
                    <td>${row.pid}</td>
                    <td>${row.pname}</td>
                    </tr>
            </c:forEach>
        </table>
    </html>               

 

<sql:update> 태그 사용

  1. <%@ page contentType = "text/html; charset=euckr" %>
    <%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>

    <%@ include file="OracleInfo.jsp" %>
    <%-- <sql:update dataSource="jdbc/oracle" var="rs">
        INSERT INTO customer VALUES('729','honeymon', 'earth')
     </sql:update>
    --%>

    <html>
        처리가 완료되었습니다.
        <hr>
    <%@ include file="OracleInfo.jsp" %>
    <sql:query dataSource="${ds}" var="rs">
        SELECT * FROM customer
    </sql:query>

    <html>
        <table border = "1" >
            <c:forEach var="row" items="${rs.rows}">
                <tr>
                    <td>${row.num}</td>
                    <td>${row.name}</td>
                    <td>${row.address}</td>
                </tr>
            </c:forEach>
        </table>
    </html>   
    </html>

<sql:transaction> 처리 한 경우

  1. <%@ page contentType = "text/html; charset=euckr" %>
    <%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>

    <%@ include file="OracleInfo.jsp" %>
    <sql:transaction dataSource="${ds}">
     <sql:update var="rs">
        INSERT INTO customer VALUES('730','honeymon', 'earth')
     </sql:update>
    in: %{rs}
    <html>
        처리가 완료되었습니다.
        <hr>
    <sql:query var="rs">
        SELECT * FROM customer
    </sql:query>
    </sql:transaction>

        <table border = "1" >
            <c:forEach var="row" items="${rs.rows}">
                <tr>
                    <td>${row.num}</td>
                    <td>${row.name}</td>
                    <td>${row.address}</td>
                </tr>
            </c:forEach>
        </table>
    </html>

 

 

이 글은 스프링노트에서 작성되었습니다.

+ Recent posts