라이브러리/Jstl

[EL] 기본 구문, Param, 연산자

JiWonSon 2020. 11. 19. 14:35

1. 기본 구문

 

<%= i %>

    JSP에서의 값 표기법이며 i는 변수입니다.

●    ${ i }

    EL에서의 값 표기법이며 i는 이름입니다.

 

- EL은 request, session 등 JSP 내장객체를 구분하지 않아도 알아서 영역들에 키값(속성명)을 검색해서 존재하는 경우 해당 밸류값을 가져옵니다.

 

- 객체 Scope에서 attribute의 이름이 같을 경우, Scope가 작은 범위에서 큰 범위로 해당 이름이 존재하는지 찾습니다.

 

ex) request scope에 A attribute가 있고 session scope에 동일한 이름의 A attribute가 있을 경우

${A}의 결과는 request scope에 있는 A attribute 값이 출력됩니다.

 

2. Param

- 파라미터의 값은 param 키워드를 통해 가져올 수 있습니다. 또한 jsp값 표기법에서 파라미터는 문자열이지만, EL에서는 숫자는 숫자, 문자열은 문자열로 인식합니다.

 

param : 해당 페이지 요청시 전달되는 값을 뽑을 때 사용
paramValues : 해당 페이지 요청시 전달되는 값들을 배열로 받을 때 사용

 

EL 표기법에서 자주사용될 수 있는 객체들을 정의해놓았습니다.

[내장객체]

 

3. 연산자

[연산자]

위 표를 바탕으로 직접 코드를 몇 자 찍어보았습니다.

 

 

 


[참고]

 

데이터들을 담을 수 있는 JSP 내장 객체 종류
  
 1. application (ServletContext)
   한 애플리케이션당 단 1개 존재하는 객체
   여기에 담긴 데이터는 애플리케이션 전역에서 사용가능
   공유범위가 가장 큼 (java/jsp/servlet)

2. session (HttpSession)
   한 브라우저당 1개 존재하는 객체
   여기에 담긴 데이터는 jsp/servlet 사용가능
   공유범위가 jsp/servlet
    
 3. request (HttpServletRequest)
   사용자의 요청에 의해서 만들어지는 객체
  여기에 담긴 데이터는 해당 request객체를 포워딩 받는 응답페이지에서만 사용가능
   공유범위가 다소 제한적임 (응답페이지에서만 꺼내 쓸 수 있음)


  4. page
     여기에 담긴 데이터는 해당 그 페이지에서만 사용가능
     공유범위가 가장 작음 (해당 페이지)
      
  위의 4개의 객체들에
  데이터를 담고자 할때는 .setAttribute("키", 담고자하는밸류값)
  데이터를 꺼내고자 할 때는 .getAttribute("키")
  데이터를 지우고자 할 때는 .removeAttribute("키")
   
  영역 = scope

'라이브러리 > Jstl' 카테고리의 다른 글

[JSTL] 액션태그  (0) 2020.11.19
[EL/JSTL] 기초설명 및 세팅  (0) 2020.11.19