티스토리 뷰
JSTL을 사용하면 EL이 되어 매우 편하다.
<c:out value="<%=request.getParameter("aaa")%>"/> 요런게
<c:out value="${param.aaa}"/> 일케 되니 보기도 좋고 얼마나 편한가!!
자신이 만드는 Custom Tags에서도 매우 쉽게 attribute 값을 받을 때 EL을 사용할 수 있다.
단 jstl 의 standard.jar 에 의존적이다.
* 입력값으로 null을 허용하지 않는 attribute에 대한 EL처리
org.apache.taglibs.standard.tag.el.core.ExpressionUtil 사용
JSTL의 out tag 소스를 살펴보면 다음과 같은 부분이 있다
this.value = ExpressionUtil.evalNotNull(
"out", // 태그명 <c:out 이니까 out
"value", // 속성명
value, // EL속성으로 넘어온 값(EL표현식)
Object.class, // 반환될 값으로 기대되는 클래스타입
this,
pageContext)
* 입력값으로 null을 허용하는 attribute에 대한 EL처리
org.apache.taglibs.standard.lang.support.ExpressionEvaluatorManager 사용
JSTL의 if tag의 소스중에는 다음과 같은 부분이 있다.
Object r = ExpressionEvaluatorManager.evaluate(
"test", // 속성명
test, // EL속성으로 넘어온 값(EL표현식)
Boolean.class, // 반환될 값으로 기대되는 클래스타입
this,
pageContext);
요것이 value값을 받아서 EL 처리 (해당 el 파싱 및 적당한 scope에서 객체 얻어오기) 를 하는거이다.
저걸 내 CustomTag의 Attribute별 setter 에 넣어주면 된다.
예를 들자면 다음과 같겠다..
페이징 태그의 현재 페이지 값으로 EL을 사용할 수 있게 한 것이다.
public void setPage(String page) {
try {
// page 값을 el 이라 생각하고 값 찾아봄. 없으면 JspException 이나 NullAttributeException 이 던져질것임
Integer value = (Integer)ExpressionUtil.evalNotNull(
"paging",
"page",
page,
Integer.class,
this,
pageContext);
this.cpage = value.intValue();
} catch (Exception ex) {
// EL에 실패하면 page값을 el이 아니라 생각하고 할당함
try {
this.cpage = Integer.parseInt(page);
} catch (Exception e) {
this.cpage = 1;
}
}
}
이렇게 하면 페이징 태그에서 <paging:page page="${qpage}" ..... />
이런식으로 사용가능하다, 물론 el이 알아서 4개 scope를 모두 뒤져서 알아서 찾아주니
qpage라는 name으로 4개 scope어디에 박아넣던 상관없다.
출처 : http://iamnotokay.tistory.com/109
- Total
- Today
- Yesterday
- gmlduqrhdwn
- judyOh blog
- naplez.net [ SCJP 1.4 ]
- DB
- web
- 한글 Mozilla 포럼 [실전웹표준가이드]
- (블로그)웹표준연구소 [마루아라소프트]
- 웹 프로그램 및 디자인관련 강좌 사이트
- (블로그)검색엔진 최적화 | 검색엔진 마케팅
- DB 툴 [DB에 대한 정보]
- PHP( 객체 지향 언어로써의 PHP )
- w3c표준규격 번역
- 서버 주무르기
- 검색엔진 마스터
- apache-kr.org
- 한국 썬 개발자 네트워크
- 검색엔진 최적화 블로그
- 피라시스닷컴(SVN관련)
- 웹기반 DNS 서비스 DNSEver.com
- JEUS / Tmax / WebtoB
- 웹기반 무료 DNS서버
- JAVA 강좌
- 少年易老學難成, 一寸光陰不可輕. 未覺池塘春草夢, 階前梧…
- MyJavaServer ( JSP 무료 호스팅 )
- I GOT IT (IT`S CRADLE & INCUBA…
- Todayis(HS)
- oracleclub.com
- Prototype (JavaScript Framewor…
- JSPWiki (openframework.or.kr)
- 제갈장비(JAVA_BLOG)
- jakartaproject
- Oracle_download
- jQuery plugin
- Test
- 안드로이드 앱 개발
- 행복한 개발자입니다.
- Flex & etc
- Flex & Design
- (iBatis)참고
- FLEX참고 사이트
- 대용량파일에 대한 watchservice 참고
- win7 update pack
- 시퀀스생성
- 다운로드
- ASP
- 비교문
- php
- Eclipse
- mybatipse #egovframework3.8
- 정보보호전문자격
- 구글
- sw기술자 경력관리
- Ajax
- 뚜비
- DOM
- CSS
- excel
- vi
- flex
- SEO
- GD
- find
- iBatis
- apache
- Linux
- 롤링
- java
- 머먹구사냐
- 오라클
- 자동증가
- derby
- mysql
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |