728x90
반응형
자료형
불리언 : true, false
정수 : 0~9, 음수는 '-' 포함
실수 : 0~9, 소수점('.'), 지수형(3.24e3) 표현가능
문자열 : 따옴표( ' 또는 " ) 사용. 따옴표는 \' 과 같이 \ 사용
널 : null
EL 기본객체
pageContext
pageScope
requestScope
sessionScope
applicationScope
param Map 객체. request.getParameter(이름)과 동일
paramValues 값의 type은 String[]. request.getParameterValues(이름)과 동일
header 요청정보의 헤더이름=값 Map 객체. request.getHeader(이름)과 동일
headerValues 헤더이름=값 배열
cookie 쿠키이름=쿠키 Map. request.getCookies()로 구한 Cookie 배열로 부터 매핑 생성
initParam 초기화 파라미터의 이름=값 Map. application.getInitParameter(이름)
표현식
<표현1>.<표현2>
- <표현1>을 <값1>으로 변환
- <값1>이 null이면 null을 리턴
- <값1>이 null이 아닌 경우 <표현2>를 <값2>로 변환
<값2>가 null이면 null을 리턴
- <값1>이 Map, List, 배열인 경우
<값1>이 Map이면
- <값1>.containsKey(<값2>)가 false이면 null 리턴
- 그렇지 않으면 <값1>.get(<값2>)를 리턴
<값1>이 List, 배열이면
- <값2>가 정수인지 검사(정수 아니면 에러 발생)
- <값1>.get(<값2>) 또는 Array.get(<값1>, <값2>)를 리턴
- 위의 코드가 예외 발생시 에러 발생
- <값1>이 (Map, List, 배열이 아닌)다른 객체이면
- <값2>를 문자열로 변환
- <값1> 객체의 프로퍼티 중 <값2> 를 이름으로 가지는 프로퍼티의 값을 리턴
- 그렇지 않은 경우 에러 발생
수치연산자
+, -, *, / or div, % or mod
ex)
${"10" + 1} ==> 자동 변환되어 11로 됨.
${null + 1} ==> 객체가 null이면 0으로 처리됨. 결과값 : 1
비교연산자
== or eq
!= or ne
< or lt
> or gt
<= or le
>= or ge
ex)
${someValue == '2004'}
논리연산자
&& or and
|| or or
! or not
empty 연산자
empty <값>
- <값>이 null이면 true
- <값>이 빈 문자열("")이면 true
- <값>이 길이가 0인 배열이면 true
- <값>이 빈 Map이면 true
- <값>이 빈 Collection(List, Map, Array)이면 true
- 이외의 경우는 false
비교 연산자
<수식> ? <값1> : <값2>
함수호출은 제약적임. 별도 정의(TLD) 필요
core
변수지원
- set 변수 설정
- remove 변수 제거
흐름제어
- if 조건
<c:if test="조건">
...
</c:if>
<c:if test="!empty ${list}">
</c:if>
- choose 다중조건
<c:choose>
<c:when test="조건">
...
</c:when>
<c:when test="조건">
...
</c:when>
...
<c:otherwise>
...
</c:otherwise>
</c:choose>- forEach 반복(Collection, Map 처리)
<c:forEach var="변수" items="아이템">
...
${변수사용}
...
</c:forEach>
ex)
<c:forEach var="i" begin="1" end="10" step="2">
${i} 사용
</c:forEach>
<c:set var="sum" value="0"/>
<c:forEach var="i" begin="1" end="100" step="2">
<c:set var="sum" value="${sum+1}"/>
</c:forEach>
결과 = ${sum}
<c:set var="intArray" value="<%= new int[] {1,2,3,4,5} %>" />
<c:forEach var="i" items="${intArray}" begin="2" end="4"> 배열 intArray의 2~4 요소의 값을 i에 저장
[${i}]
</c:forEach>
<c:set var="map" value="<%= mapData %>" /> Map의 각 원소를 나타내는 Map.Entry를 i에 저장
<c:forEach var="i" items="${map}">
${i.key} = ${i.value}<br>
</c:forEach>
- forTokens 구분자로 분리된 각각의 토큰 처리
URL처리
- import URL을 사용하여 다른 자원의 결과를 삽입
- redirect URL redirect
- url URL 재작성
기타태그
- catch 예외처리
- out JspWriter에 출력
<c:out value="value" escapeXml="{true|false}" default="defaultValue" />
escapeXml : true(default)일 경우 (> < & ' ")같은 문자를 (< > & ' ")로 변환한다.
국제화(fmt)
<c:formatNumber>
<c:set var="price" value="10000" />
<fmt:formatNumber value="${price}" type="number" var="numberType" />
value : 양식에 맞춰 출력할 숫자
type : 어떤 양식으로 출력할지. number일 경우 숫자형식으로, percent일 경우 %, currency일 경우 통화 형식으로 출력
groupingUsed : 콤마(,)와 같이 단위를 구분할 때 사용되는 기호 사용 여부(12,000). default : true.
var : formatNumber 태그의 결과를 저장할 변수의 이름. var 속성을 사용하지 않으면 결과가 곧바로 출력됨.
pattern : 직접 숫자가 출력되는 양식을 지정. java.text.DecimalFormat 클래스의 패턴 사용.
<c:formatDate>
value : 포맷팅할 숫자
type : 포맷할 타입. date인 경우날짜만, time인 경우 시간만, both인 경우 날짜와 시간을 함께 포맷팅.
dateStyle : 날짜의 출력 스타일 지정. java.text.DateFormat의 스타일(full, long, default, medium, short)
timeStyle : 시간의 출력 스타일 지정. java.text.DateFormat의 스타일
pattern : 직접 출력 패턴 지정. java.text.SimpleDateFormat 클래스 패턴
var : 포맷 결과를 저장할 변수 지정. 지정하지 않으면 바로 출력됨.
<c:set var="now" value="<%= new java.util.Date() %>" />
<fmt:formatDate value="${now}" type="date" dateStyle="full" />
<fmt:formatDate value="${now}" pattern="z a h:mm" />
함수(fn)
fn:contains(string, substring) string이 substring을 포함하면 true 리턴.
fn:containsIgnoreCase(string, substring) 대소문자에 관계없이, string이 substring을 포함하면 true 리턴.
fn:endsWith(string, suffix) string이 suffix로 끝나면 true 리턴.
fn:escapeXml(string) string에 XML과 HTML에서 특별한 의미를 가진 문자들이 있으면, XML 엔티티 코드('&' -> & 등)로 바꿔준 뒤 문자열 리턴.
fn:indexOf(string, substring) string에서 substring이 처음으로 나타나는 인덱스 리턴.
fn:join(array, separator) array(배열) 요소들을 separator를 구분자로 하여 연결해서 리턴
fn:length(obj) obj 이 배열이나 컬렉션이면 요소의 갯수를, 문자열이면 문자의 갯수를 리턴.
fn:replace(string, before, after) string 내에 있는 before 문자열을 after 문자열로 모두 바꿔서 리턴.
fn:split(string, separator) string 내의 문자열을 separator에 따라 나누어서 배열로 구성해 리턴.
fn:startsWith(string, prefix) string이 prefix로 시작하면 true 리턴.
fn:substring(string, begin, end) string에서 begin 인덱스에서 시작해서 end 인덱스에 끝나는 부분(end 인덱스에 있는문자 포함)의 문자열을 리턴. string.substring(begin, end)의 결과와 동일. end가 -1일 경우 string.substring(begin)과 동일.
fn:substringAfter(string, substring) string에서 substring이 나타나는 이후의 부분에 있는 문자열을 리턴.
fn:substringBefore(string, substring) string에서 substring이 나타나기 이전의 부분에 있는 문자열을 리턴.
fn:toLowerCase(string) string을 모두 소문자로 바꿔 리턴.
fn:toUpperCase(string) string을 모두 대문자로 바꿔 리턴.
fn:trim(string) string 앞뒤의 공백(whitespace)을 모두 제거하여 리턴.
fn:containsIgnoreCase(string, substring) 대소문자에 관계없이, string이 substring을 포함하면 true 리턴.
fn:endsWith(string, suffix) string이 suffix로 끝나면 true 리턴.
fn:escapeXml(string) string에 XML과 HTML에서 특별한 의미를 가진 문자들이 있으면, XML 엔티티 코드('&' -> & 등)로 바꿔준 뒤 문자열 리턴.
fn:indexOf(string, substring) string에서 substring이 처음으로 나타나는 인덱스 리턴.
fn:join(array, separator) array(배열) 요소들을 separator를 구분자로 하여 연결해서 리턴
fn:length(obj) obj 이 배열이나 컬렉션이면 요소의 갯수를, 문자열이면 문자의 갯수를 리턴.
fn:replace(string, before, after) string 내에 있는 before 문자열을 after 문자열로 모두 바꿔서 리턴.
fn:split(string, separator) string 내의 문자열을 separator에 따라 나누어서 배열로 구성해 리턴.
fn:startsWith(string, prefix) string이 prefix로 시작하면 true 리턴.
fn:substring(string, begin, end) string에서 begin 인덱스에서 시작해서 end 인덱스에 끝나는 부분(end 인덱스에 있는문자 포함)의 문자열을 리턴. string.substring(begin, end)의 결과와 동일. end가 -1일 경우 string.substring(begin)과 동일.
fn:substringAfter(string, substring) string에서 substring이 나타나는 이후의 부분에 있는 문자열을 리턴.
fn:substringBefore(string, substring) string에서 substring이 나타나기 이전의 부분에 있는 문자열을 리턴.
fn:toLowerCase(string) string을 모두 소문자로 바꿔 리턴.
fn:toUpperCase(string) string을 모두 대문자로 바꿔 리턴.
fn:trim(string) string 앞뒤의 공백(whitespace)을 모두 제거하여 리턴.
728x90
반응형
'JQUERY' 카테고리의 다른 글
.is() 와 .next() 에 대해 (0) | 2014.04.04 |
---|---|
JQUERY 참조 블로그 (0) | 2014.04.04 |
jQuery API 정복 - event.target, 이벤트가 발생한 요소 (0) | 2014.04.04 |
jQuery event target (0) | 2014.04.04 |
table 태그로 표를 간단하게 (레이아웃 작성용 아닙니다) (0) | 2014.03.18 |
jquery .hover (마우스오버와 마우스아웃) (0) | 2014.03.18 |
[jQuery 강좌] 10강 클래스 추가 및 삭제하기 addClass() removeClass() (0) | 2014.03.18 |
removeClass() 메서드, toggleClass() 메서드, hasClass() 메서드 (0) | 2014.03.18 |