- 표현언어(EL - Expression Language)
=> jsp 2.0 새롭게 추가된 스크립요소
=> 자바 빈즈 속성값을 보다 쉽고 제약을 덜 받는 방법으로
사용하기 위해 나옴.
=> 기본문법
- 표현언어는 $시작한다.
- 모든 내용은 {표현식} 으로 구성된다.
- 표현식에는 기본적으로 변수명 혹은 속성명.메소드 구조로
이루어짐.
- 표현식에는 정수형, 실수형, 문자열형, 논리형, null 올수있음.
- 표현식 연산가능함.
=> 표현언어 연산자
- 산술연산자
+ ,- , *, /(div) , %(mod)
ex) ${10 div 2}
-관계연산자
==(eq) , !=(ne) , >(gt) , <(lt) , >=(ge) , <=(le)
ex) ${5 gt 2}
- 조건연산자
조건식 ? 참 : 거짓
- 논리연산자
&&(and), ||(or) , !(not)
=> 표현언어 내장객체
-pageScope => page기본객체에 저장된 속성
-reqeustScope =>reqeust기본객체에 저장된 속성
-sessionScope => session기본객체에 저장된 속성
-applicationScope => application기본객체에 저장된 속성
-param => 요청 prameter의 name에 해당하는 값 가져옴
ex) ${param.name} = (request.getParameter("name"); )
-pageContext => JSP page 기본객체
* <jsp:useBean id="bean" class="gaon.EL.ProductBean" />
ex) ${bean.num1} => bean객체의 getNum1()호출됨.
-------------------------------------------------------------
-TLD(Tag Library Descriptor)
=> 커스텀태그로 사용자가 필요에 의해 직접 만들어 사용하는 것.
=> 방법
- TagSupport 또는 SimpleTagSupport상속받아 만드는 경우
- jsp2.0에서 추가된 태그파일 이용방법
=> jsp문서에서 태그파일을 이용하기 위해서는
<%@ taglib tagdir="/WEB-INF/tags" prefix="접두어" %>
<접두어:태그파일이름/>
<접두어:태그파일이름>doBody 내용 </접두어:태그파일이름>
=> tags폴더에 tag파일 만들기
-첫줄에 기술한다.
<%@ tag body-content="empty" pageEncoding="euc-kr" %>
body-content에 들어가는 값
empty => 태그body가 없다는 것
scriptless => 기본이며 커스텀태그 와 html로만 이루어진
경우
--------------------------------------------------------------
- JSTL(Jsp Standard Tag Library)
=> jsp에서 표준으로 자주사용하는 부분을 미리 태그로 만들어
놓은것.
=> 종류
코어(core), XML, I18N(국제화) , 데이터베이스(sql),
함수(function)
다운받은 파일을 압축을 풀면 두개의 라이브러를
lib폴더에 넣는다.
=> jsp문서에서 JSTL을 사용하기 위한 선언방법
=> 자주사용하는 코어 JSTL 태그
1. <c:out value="값 | 변수명" escapeXml="true|false" />
escapeXml="true" 는 값에 태그 있으면 문자로 출력됨.
2. <c:set var="이름" value="값" />
주의 : value의 값은 무조건 String
만약 value="${20}" 이면 숫자 20
value="${'20'}" 이면 문자 20
value="20" 이면 문자 20
3. <c:remove var="이름" />
4. <c:catch var="이름">
예외발생 가능성 코드
</c:catch>
5. <c:if test="조건식" var="결과저장할이름" >
결과가 true일때 실행문장.
</c:if>
6. <c:choose>
<c:when test="조건식"> 실행문장 </c:when>
<c:when test="조건식"> 실행문장 </c:when>
<c:when test="조건식"> 실행문장 </c:when>
....
<c:otherwise> 위조건이외의 경우 실행문장 </c:otherwise>
</c:choose>
7. <c:forEach var="이름" begin="시작" end="끝" step="단계"
items="항목" varStatus="현재상태에대한값" >
${상태나타내는변수.index}
${상태나타내는변수.count}
${이름}
</c:forEach>
8. <c:forTokens items="데이터" delims="구분자" var="이름">
${이름}
</c:forTokens>
9. <c:import uri="파일명" var="이름" />
10. <c:url value="URL주소" var="이름" />
<c:url value="URL주소" var="이름" >
<c:param name="이름"> 값 </c:param>
</c:url>
ex) <a href="${이름}" >클릭</a>
11. <c:redirect uri="" >
<c:param name="이름"> 값 </c:param>
</c:redirect>
===================================================