본문 바로가기

프로그래밍 기초/JSP

[JSP]EL (Expression Language) 모음

 

EL의 특징

  • -EL(Expression Language)은 표현언어라는 의미이다.
  • -웹 페이지에 값을 표시하는 데 사용되는 태그로 JSP의 출력 문법을 보완하는 역할을 합니다.
  • -${} 를 사용한다.
  • -null 는 공백으로 출력한다.  이전 블로그 글 참고 https://dev-jejeb.tistory.com/19 

 

<h3>EL 테스트 중...</h3>
<%
	//request에 "myName"이라는 키값으로 담긴 String type읽어오기
	String myName=(String)request.getAttribute("myName");
%>
<p>myName : <strong><%=myName%></strong></p>
<%--위의 코드는 아래의 EL로 대체할 수 있다. --%>
<p>myName : <strong>${requestScope.myName}</strong></p>

 

<h3>EL 테스트중...</h3>
<%
 	UsersDto dto=(UsersDto)request.getAttribute("dto");
%>
<p>
	아이디 : <strong><%=dto.getId()%></strong>
	이메일 : <strong><%=dto.getEmail() %></strong>
	등록일 : <strong><%=dto.getRegdate() %></strong>
</p>
<%--위의 코드를 EL을 이용하면 아래와 같다. --%>
<p>
	아이디 : <strong>${requestScope.dto.id }</strong>
	이메일 : <strong>${requestScope.dto.email }</strong>
	등록일 : <strong>${requestScope.dto.regdate }</strong>
	
</p>
<h3>EL테스트중...</h3>
<%
	String nickName=(String)session.getAttribute("myNick");
%>
<p>세션에 저장된 별명 : <strong><%=nickName %></strong></p>

<%--위의 작업을 EL을 이용하면 아래와 같다. --%>
<p>세션에 저장된 별명 : <strong>${sessionScope.myNick }</strong></p>
<h3>산술연산</h3>
<p>1+1 = ${1+1 }</p>
<p>10-1=<strong>${10-9 }</strong></p>
<p>10*10=<strong>${10*10 }</strong></p>
<p>10/3=<strong>${10/3 }</strong></p>

<h4>비교연산</h4>
<p> 10 은 2 보다 커요 : <strong>${10 > 2 }</strong></p>
<p> 10 은 2 보다 커요 : <strong>${10 gt 2 }</strong></p>
<p> 10 은 2 와 같거나 커요 : <strong>${10 >= 2}</strong></p>
<p> 10 은 2 와 같거나 커요 : <strong>${10 ge 2}</strong></p>
<p> 10 은 2 보다 작아요 : <strong>${10 < 2 }</strong></p>
<p> 10 은 2 보다 작아요 : <strong>${10 lt 2 }</strong></p>
<p> 10 은 2 와 같거나 작아요 : <strong>${10 <= 2 }</strong></p>
<p> 10 은 2 와 같거나 작아요 : <strong>${10 le 2 }</strong></p>
<p> 10 은 10 과 같아요 : <strong>${10 == 10 }</strong></p>
<p> 10 은 10 과 같아요 : <strong>${10 eq 10 }</strong></p>
<p> 10 은 10 과 달라요 : <strong>${10 != 10 }</strong></p>
<%-- <p> 10 은 10 과 달라요 : <strong>${10 ne 10 }</strong></p> --%>

<h4>논리연산</h4>
<p> true || false : ${true || false}</p>
<p> true or false : ${true or false }</p>
<p> true && false : ${true && false }</p>
<p> true and false : ${true and false }</p>
<p> !true : ${!true }</p>
<p> not true : ${not true }</p>

<h4>empty 연산자 (비어 있는지 여부)</h4>
<p> empty null : <strong>${empty null }</strong></p>
<p> empty "" : <strong>${empty "" }</strong></p>
<p> not empty null : <strong>${not empty null }</strong></p>
<p> not empty "" : <strong>${not empty "" }</strong></p>
<%
	request.setAttribute("size", 123456789);
	request.setAttribute("weight", 12345.56789);
	request.setAttribute("price", 1250000);
%>
<h3>JSTL fmt 테스트</h3>
<p>size: <strong>${size}</strong> byte </p>
<p>size: <strong><fmt:formatNumber value="${size}"/></strong> byte</p>
<p>weight: <strong>${weight }</strong></p>
<p>weight: <strong><fmt:formatNumber value="${weight }"/></strong></p>
<p>weight: <strong><fmt:formatNumber value="${weight }" pattern="#,###.##kg"/></strong></p>
<p>price: <strong>${price}</strong></p>
<p>price: <strong><fmt:formatNumber value="${price }" type="currency" currencySymbol="$"/></strong></p>