<Jsp> 7. Expression Language
by BFine반응형
1. Expression Language(EL)
${ }을 통해 간편한 표현을 위해 사용
${ param.태그명 } : 변수 출력, $ { paramValues.태그명[인덱스] } : 배열 처리
Null point exception & 형변환 처리가 필요없다.
1 2 3 4 5 6 | <% request.setAttribute("Hello", "World");%> ==================================== ${Hello} (= request.getAttribute("Hello")) NewFile.jsp?id=3 ${param.id} (= request.getParameter("id")) | cs |
(page, request, session, application)Scope.태그명으로 같은 태그명 구분 가능 [ default : request ] ( 순서대로 찾아간다 )
<% 여기서 선언한 변수는 출력 불가 %> java와 EL은 같이 쓸 수 없다.
${ param.a - param.b } 사칙연산. ${ param.a > param.b } 비교(논리,조건)연산, ${ param.a<param.b?1:0 } 삼항연산
${empty 변수명} : 읽어온 값이 공백(null) 인지 확인 [ex) ${empty param.id} ==> true(null 이면) ]
영어 태그 gt(>=) lt(<=) get (>) le(<) eq(==) ne(!=)
map -> ${ 객체명["Key Value"] } , 객체 Getter ->${ 객체명.변수명만 }
2. Java standard tag library(JSTL)
JSTL 라이브러리 추가 ( 현재 프로젝트만 )
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 선언, <c:태그 >로 사용 [ core 이외 sql, x 등]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <c:forEach var="i" begin="1" end="10">${i}</c:forEach><!--=for문 --> <c:out value="hello"></c:out> <!-- 출력 --> <c:set var="k" value="11" scope="request"></c:set> <c:set var="k2" value="10" scope="request"></c:set> <c:if test="${k>k2}">k is bigger than k2</c:if> <!--test가 true 일때 출력 --> <c:choose> <c:when test="${k>k2}">k is bigger than k2</c:when> <c:when test="${k<k2}">k is small than k2</c:when> <c:otherwise>k=k2</c:otherwise> </c:choose><!--if else 와 switch문과 비슷 --> <c:remove var="k" scope="request"/> ${empty k?"remove":k}<!--remove--> <c:forTokens var="fu" items="사과|바나나|포도" delims="|"> <h1>${fu}</h1> </c:forTokens><!--Tokenizer과 비슷 --> |
문자열 비교시 \" 문자열 \", ※ 조건 설정시 ${ 이 밖으로 나가면 에러 }
반응형
'공부(2018~2019) - 스킨변경전 > Jsp' 카테고리의 다른 글
<Jsp> 8. Web (0) | 2018.04.26 |
---|---|
<Jsp> 6. DataSource (0) | 2018.04.20 |
<Jsp> 5.useBean, Session, Cookie (0) | 2018.04.19 |
<Jsp> 4. Action Tags (0) | 2018.04.18 |
<Jsp> 3. Inner Object (0) | 2018.04.17 |
블로그의 정보
57개월 BackEnd
BFine