You will be fine

<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과 비슷 -->

cs

  • 문자열 비교시 \" 문자열 \", ※ 조건 설정시 ${ 이 밖으로 나가면 에러 }

반응형

'공부(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

활동하기