💡 핵심 요약 (TL;DR)
JSTL과 EL : EL태그 연산자의 동작 원리를 이해하고 실제 프로젝트에 적용하기 위한 실무 가이드다.
* operator1.jsp의 숫자 정보를 입력받아서 다음 페이지operator2.jsp로 넘기고 다음페이지operator2.jsp에서 해당 연산을 구현해보자.
EL태그로 연산하기
- 특징 : EL 표현식은 연산자가 있으면 전달받은 데이터 자동으로 숫자형으로 캐스팅함.
operator1.jsp의 숫자 정보를 입력받아서 다음 페이지operator2.jsp로 넘기고 다음페이지operator2.jsp에서 해당 연산을 구현해보자.
공통코드 : operator1.jsp 와 operator2.jsp 생성
operator1.jsp 코드
1 2 3 4 5 6 7
| <fieldset> <form action="operator2.jsp"> 숫자1 : <input type="text" name="num1"><br> 숫자2 : <input type="text" name="num2"><br> <input type="submit" value="전송"> </form> </fieldset>
|
operator2.jsp코드
1
| <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
EL 표현식 사용해서 전달받은 정보 출력
1 2
| 숫자1 : ${param.num1}<br> 숫자2 : ${param.num2}<br>
|
EL 표현식을 사용해서 전달받은 2개의 값 합 출력
- 파라미터는 String타입인데 어떻게 EL태그에서 바로 연산이 될까?
- EL 표현식은 전달받은 데이터 자동 캐스팅때문!
1
| 숫자1 + 숫자2 = ${param.num1+param.num2}<br>
|
EL 표현식을 사용해서 전달받은 2개의 값이 모두 양수인가?
1 2 3
| <c:if test="${(param.num1 > 0) && (param.num2 > 0)}"> 모두 양수입니다<br> </c:if>
|
EL 표현식 사용해서 삼항조건연산 처리
- 전달한 두 개의 데이터가 같으면 “같다”출력, 다르면 “다르다”출력
1
| ${(param.num1 == param.num2) ? "같다" : "다르다" }
|
EL 표현식 사용해서 아이디값이 있는지 확인하기
- 값이 null이거나 컬렉션의 크기가 0인지 체크 => empty(리턴타입boolean)사용
- operator1.jsp페이지에서 ID값 전달,
- ID가 없을 경우 게스트님, 환영합니다
- ID가 있는 경우, 해당id님 환영합니다
1
| ${empty param.id ? "게스트" :param.id }님 환영합니다
|
#TILITWILL(JAVA)