Jsp-EL & JSTL

1 분 소요

EL (Expression Language)

  • 표현 언어란?
    • 표현 언어(Expression Language)는 값을 표현하는 데 사용되는 스크립트 언어로서 JSP의 기본 문법을 보완하는 역할을 한다.
  • 표현 언어가 제공하는 기능
    • JSP의 스코프(scope)에 맞는 속성 사용
    • 집합 객체에 대한 접근 방법 제공
    • 수치 연산, 관계 연산, 논리 연산자 제공
    • 자바 클래스 메소드 호출 기능 제공
    • 표현언어만의 기본 객체 제공
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <% 
            pageContext.setAttribute("p1", "page scope value");
            request.setAttribute("r1", "request scope value");
            session.setAttribute("s1", "session scope value");
            application.setAttribute("a1", "application scope value");
    %>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
            ${pageScope.p1} <br>
            ${requestScope.r1} <br>
            ${sessionScope.s1} <br>
            ${applicationScope.a1} <br><br>
            ${p1 }
    </body>
    </html>

JSTL (JSP Standard Tag Library)

  • JSTL이란?
    • JSTL(JSP Standard Tag Library)은 JSP 페이지에서 조건문 처리, 반복문 처리 등을 html tag형태로 작성할 수 있게 도와줍니다.
    <% 
            request.setAttribute("n", 10);
    %>
    <c:set var="n" value="10" scope="request"/>
  • 위의 두 코드는 같은 방식이다. 하나는 java, 하나는 jstl 방식이다.

  • forEach 구문
      <%@page import="java.util.ArrayList"%>
      <%@page import="java.util.List"%>
      <%@ page language="java" contentType="text/html; charset=UTF-8"
              pageEncoding="UTF-8"%>
      <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
      <% 
              List<String> list = new ArrayList<>();
              list.add("hello");
              list.add("world");
              list.add("!!!");
              request.setAttribute("list", list);
      %>
      <!DOCTYPE html>
      <html>
      <head>
      <meta charset="UTF-8">
      <title>Insert title here</title>
      </head>
      <body>
      <c:forEach items="${list }" var="item">
              ${item } <br>
      </c:forEach>
      </body>
      </html>
    
  • javascript관련
      <%@ page language="java" contentType="text/html; charset=UTF-8"
          pageEncoding="UTF-8"%>
      <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
      <c:set var="t" value="<script type = 'text/javascript'>alert(1);</script>"/>
      <!DOCTYPE html>
      <html>
      <head>
      <meta charset="UTF-8">
      <title>Insert title here</title>
      </head>
      <body>
      ${t }
      <c:out value="${t }" escapeXml="true"></c:out>
      </body>
      </html>
    

카테고리:

업데이트:

댓글남기기