Cohe

7. EL 표기법, JSTL 본문

개발 언어/JSP

7. EL 표기법, JSTL

코헤0121 2024. 4. 18. 10:22
728x90

EL(Expression Language

  • EL이란 jsp에서 저장객체를 출력할 때 스크립팅을 전혀쓰지 않을 수 있는 기술, 표현식을 대체함.
  • ex) <%=value%> => ${value}
  • el 내부의 연산자
    1. 산술 연산자
    2. 관계 연산자
    3. 조건 연산
    4. 논리 연산자
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
	표현식<br>
	<%=1+2 %><br>
	<%="안녕" %><br>
	<%=1>2 ||1==2 %><br>
	---------------------------<br>
	
	<b> el 표기법</b><br>
	
	${1+2}<br>
	${"안녕"}<br>
	${1>2||1==2}<br>
	
</body>
</html>

el param

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>el param</title>
</head>
<body>
	<form action="el_param_ok.jsp" method="post">
		ID : <input type="text" name="id"><br> 
		PW : <input type="password" name="pw"><br>
		이름 : <input type="text" name="name"><br>
	</form>
</body>
</html>
  • el의 내장 객체
    1. pageScope : jsp의 page 객체 참조
    2. requestScope : request 객체 참조
    3. sessionScope
      • 세션 또는 어플리케이션에 있는 값을 얻을 때는 sessionScope, applicationScope를 사용해서 접근 (sessionScope.이름,이름)
      • Email : ${sessionScope.vo.email}<br>
    4. applicationScope
      • admin : ${applicationScope.admin }
    5. param : 요청 파라미터를 참조하는 객체
      • form action으로 주고 받는 것은 파람이다!
      • ID : ${vo.getId()}<br>
    6. paramValues : 요청 파라미터를(배열) 참조하는 객체
    7. initParam : 서블릿 컨텍스트를 초기화 파라미터를 참조하는 객체
    8. cookie : 쿠키 객체를 참조하는 객체
  • 사용 : ${내장객체.name}

 

  • JSTL 사용
    • jsp에서 사용되는 태그라이브러리
    • java의 제어문을 html 태그화 시킬 수 있다.
    • 톰캣 기본 컨테이너에 포함되어 있지 않아서 직접 설치가 필요하다!!
      • Taglibs 다운로드!! 아래 사진에서 네 개 다!
      • '그리고 web-inf에 lib 폴더에 넣어준다.
    • Apache Tomcat® - Apache Taglibs Downloads
  • 사용 방법들!
    1. taglib를 지정해야 한다.<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
      • prifix는 반드시 c로 해줘야한다 : core라서 그렇다!!
    • choose는 자식으로 c:when, c:otherwise를 가질 수 있다
    • 자바의 StringTokenizer를 JSTL를 사용하여 구현하려 할 때 쓸 수 있음
      • 문자열을 구분자로 나눌려고 할 때 사용
    • c:url은 c:set과 비슷함 단 get 방식으로 값을 전달받는다