본문 바로가기
JSP

[JSP] EL(Expression Language) 코드

by YOU R PLANET 2021. 12. 17.

1. ${키}

: 기존처럼 request.getAttribute() 로 불러와 java로 다시 변환해줄 필요가 없다. 


<기존 출력 방식>

<%
	request.setAttribute("normal", "기존방법");
	String normal = (String)request.getAttribute("normal");
%>
	<%=normal%>

<el 태그 사용>

<%
	request.setAttribute("el", "새로운 방식");
%>
	
    ${el}

2. 산술, 비교, 논리, 삼항 연산자


다음과 같이 활용할 수 있다.

	<%
		request.setAttribute("one", 1);
		request.setAttribute("two", 2);
	%>
	
	${one} <br>
	${two} <br>
	
	${ one > two } <br>
	${ one < two } <br>
	${two * two } <br>
	
	${ one == one } <br>
	${ one != two } <br>
	
	${ one == one && two == two } <br>
	${ one != two || one == two } <br>
	${!(one == one)}
	
	${(one == two) ? one : two}
${x gt y}  <%-- greater than --%>
${x lt y}  <%-- less than --%>
${x ge y}  <%-- greater or equal --%>
${x le y}  <%-- less or equal --%>
${x eq y}  <%-- equal --%>
${x ne y}  <%-- not equal --%>

3. ne , empty 연산자로 값 확인하기


<%
	request.setArrtibute("notNull", "값있음");
%>

	${notNull ne null} // true 출력
    ${empty notNull} // false 출력
    
<%
	ArrayList<Integer> list = new Arraylist<>();
    list.add(1);
    request.setAttribute("list", list);
%>
	${empty list} // false;
    ${!empty list} //true;
emptyne(not equal) - null 비교로 값이 있는지 없는지 확인할 수 있다.

4. request > session

: 변수명이 같을 경우 request 를 인식한다.


	<%
    	request.setAttribute("name1" ,"이만수");
		session.setAttribute("name1", "홍길동");
		session.setAttribute("name2", "이순신");
	%>  	
  	${name1 } <!-- request 것이 우선순위로 적용된다. -->
  	${sessionScope.name1 }
  	${name2 }
session 과 request 의 키 값이 같을 경우, 
sessionScope 를 이용해 구분한다. 

댓글