• Home
  • About
    • ming photo

      ming

      studying

    • Learn More
    • Twitter
    • Facebook
    • Instagram
    • Github
    • Steam
  • Archive
    • All Posts
    • All Tags
    • All categories
  • categories
    • HTML+CSS+JavaScript
    • JAVA
    • Algorithm
    • DB
    • JSP
    • 정보처리기사
    • Spring
    • Thymeleaf
    • 기술면접
  • Projects

JSP - JSP 2.3 & Servlet3.1 - JSTL과EL (core:set)

25 Mar 2021

🔷 JSP 2.3 & Servlet3.1 - JSTL과EL (core:set)

✔ EL 개요

- JSP 스크립트 태그 <%= %>를 대신하여 JSP 값들을 좀더 편리하게 출력하기 위해 제공되는 언어
- JSP 페이지에서 일반 태그와 스크립트 태그가 섞여 가독성이 떨어지는 단점을 보안한다
🎈 EL표현식 
- test 변수를 표현할 때 : ${test}

💡 EL의 내장객체 EL내장객체

💡 EL의 연산자 el연산자

💡 EL의 산술 연산자 el산술연산자

💡 EL의 논리 연산자 el논리연산자

💡 EL의 비교 연산자 el비교연산자

✔ JSTL core

- JSTL에서 기본기능(반복문,조건문 등 컨트롤에 관계된 기능)들이 구현된 라이브러리
-  자바 코드를 사용하지 않아도 쉽게 기본 기능 구현 가능하다
- JSTL core를 사용하려면 JSP 페이지에 태그 라이브러리로 등록해야 한다
🎈 JSTL core 채그 라이브 러리
: <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
- prefix 의 c : 채그를 사용할 때 항상 붙는 접두사

✔ JSTL core : set

- <c:set> : 변수 설정
  • JSTL core(set)
      <%@ page contentType="text/html; charset=UTF-8" %>
      <%@ page import="vo.Member" %>
      <%@ page import="java.util.HashMap" %>
      <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
      <%
          /* 멤버 객체 생성 */
          Member member = new Member();
          /* HashMap : 수정하는것 때문에 사용 많이 한다 */
          HashMap<String, String> pref = new HashMap<String, String>();
      %>
      <!doctype html>
      <html lang="ko">
      <head>
      <meta charset="UTF-8" />
      </head>
      <body>
      <%
          member.setName("java"); // null값 발생시 대입할 값 설정
          //pageContext.setAttribute("member2", member2);
          request.setAttribute("member" , member);
            
          // Member로 치환하여 대입
          //Member member2 = (Member)request.getAttribute("member");
          //out.print("name2 : " + member2.getName());
      %>
      <!-- jstl scope의 기본값 : page,
      c:set : 4가지 scope객체로 만든 setAttribute로 만든 객체를 태그로 만든것 -->
      <!-- jstl : 가독성이 좋다 -->
      jstl : <c:set var="member" value="<%=member %>" />
      <hr>
      name3 : <%=((Member)request.getAttribute("member")).getName() %>
      <hr>
      name4 : ${member.name}<br>
    
      <!-- EL사용시 정확한 표현 -->
      name5 : ${requestScope.member.name}<br>
      name6 : ${pageScope.member.name}<br>
    
      <br>
      <!-- EL : null값 발생시 공백으로 출력한다  -->
      <!-- c:set : 인스턴스 삽입 , jstl식 변수 선언 , pageContext이용한것과 같다-->
      <!-- member변수에 member객체(자바) 대입 -->
      <c:set var="member" value="<%= member %>" />
    
      <!-- property="name" : name이라는 멤버필드의 값으로 , value="JSP" : "jsp"를 넣겟다  -->
      <c:set target="${member}" property="name" value="JSP" />
    
      <!-- name 필드 출력 , member라는 변수(jstl변수), getName/name : 같은결과를 나타낸다-->
      name : ${member.getName()}<br>
    
      <!-- el사용시 MemberVO의 private의 name에 바로 접근하는것이 아니고 getName을 통해 name에 접근하는것이다 -->
      name : ${member.name}<br>
    
      <!-- java 사용해서 memberVO접근  -->
      name : <%=member.getName() %><br>
    
    
      </body>
      </html>
    

▶ 출력화면 core출력



Share Tweet +1