JSTL과 EL : EL태그 연산자
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
코드- core 라이브러리 추가
1
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
- core 라이브러리 추가
EL 표현식 사용해서 전달받은 정보 출력
1 | 숫자1 : ${param.num1}<br> |
EL 표현식을 사용해서 전달받은 2개의 값 합 출력
- 파라미터는 String타입인데 어떻게 EL태그에서 바로 연산이 될까?
- EL 표현식은 전달받은 데이터 자동 캐스팅때문!
1 | 숫자1 + 숫자2 = ${param.num1+param.num2}<br> |
EL 표현식을 사용해서 전달받은 2개의 값이 모두 양수인가?
1 | <c:if test="${(param.num1 > 0) && (param.num2 > 0)}"> |
EL 표현식 사용해서 삼항조건연산 처리
- 전달한 두 개의 데이터가 같으면 “같다”출력, 다르면 “다르다”출력
1 | ${(param.num1 == param.num2) ? "같다" : "다르다" } |
EL 표현식 사용해서 아이디값이 있는지 확인하기
- 값이 null이거나 컬렉션의 크기가 0인지 체크 => empty(리턴타입boolean)사용
- operator1.jsp페이지에서 ID값 전달,
- ID가 없을 경우 게스트님, 환영합니다
- ID가 있는 경우, 해당id님 환영합니다
1 | ${empty param.id ? "게스트" :param.id }님 환영합니다 |