-
[JAVA] JSTL 문법정리JAVA 2018. 12. 13. 11:28
■ JSTL 표준 태그 라이브러리
: JSP페이지를 작성할때 유용하게 사용할 수 있는 여러 가지 커스텀 액션과 함수과 포함되어 있는 라이브러리파일설치>> WEB-INF/lib 폴더 내에 jstl.jar(스펙라이브러리), standard.jar(구현라이브러리) 파일 추가JSTL 문법
==
eq
!=
ne
<
lt
>
gt
<=
le
>=
ge
▶ <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>Core : 일반 프로그래밍 언어에서 제공하는 것과 유사한 변수 선언실행 흐름의 제어기능 제공 / 다른 JSP페이지로 제어를 이동하는 기능 제공<c:set> 속성 변수를 선언하고 초기값을 대입 <c:out>
데이터 출력할때
<c:if>
IF문
<c:chooose>
Switch문
<c:forEach>
For문
- <c:set>
- int num =100;
<c:set var="num" value="100"/>2. <c:set var="num" value="${num1+num2}"/>3. <c:set>액션을 이용하여 선언한 변수는 기본적으로 page테이터 영역의 속성으로 바인딩 된다.4. 내장객체 지정가능Page / request / session / application 중 한 값을 지정<c:set var="price" value="15000" scope="request"/><span>상품가격: ${price}</span>※ <c:out><c:out value="${변수}" escapeXml="true", (default="NULL") />escapeXml="true" -> 기본값이며 생략가능 < > & ' " 자동변환 (HTML문자를 자동변환해줌으로써 크로스사이트스크립팅을 피할수 있다)B. <c:if>if( num1 > num2) { 실행문 };<c:if test="${num1>num2}"/> 실행문 </c:if>C. <c:choose><c:choose><c:when test="${param.NUM==0}">실행문</c:when><c:otherwise>실행문</c:otherwise></c:choose>D. <c:forEach><c:forEach var="i" begin="0" end="100" step="1"> //step: 기본값 1${i} <br/></c:forEach>*item 속성Collection / Iterator / Enumeration / Map 객체 / 콤마(,)로 구분된 항목들을 포함한 문자열를 순서대로 출력String arr[ ] = {ㄱ, ㄴ, ㄷ};request.setAttribute{"List", arr);<c:forEach var="str" items="${List}"> items만큼 루프돌려서 출력한다.<p>${str}</p></c:forEach>▶ <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>문자열을 처리하는 함수 제공List형태일 경우
${fn:length(변수명) eq 0}
값 형태일 경우
${empty 변수명} / ${not empty 변수명}
${fn:substring(문자열, 시작위치, 끝위치)}
▷ 그외<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>숫자, 날짜 시간을 변환하는 기능 / 국제화, 다국어 지원기능<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%>데이터베이스의 데이터를 입력.수정.삭제.조회하는 기능 제공<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml"%>xml 문서를 처리 할 때 필요한 기능 제공▶ <%@ taglib prefix="web" uri="webUtility" %>사용자 정의 태그 (커스텀 태그)-> webUtilty.tld 파일 생성※ webUtilty.tld 파일 구조<tlib-version>0.1</tlib-verson><short-name>webUtility</short-name><uri>webUtility</uri><tag><name> </name> 태그이름<tag-class> </tag-class> 태그가 수행할 클래스명(경로지정)<body-content> </body-content> 태그가 body가 있는지 여부 결정empty: body없음 / scriptless: body있음(기본값)<attribute><name> </name> 해당 태그의 속성 이름<required> true </required> 속성 필수 여부 (기본값 false)<rtexprvalue> true </rtexprvalue> 표현식 사용여부 (기본값 true / false : 사용불가)</attribute></tag><web:service methodName="getHtmlContent" var="info" className="menu_SCV">webUtility.tld> 태그 이름: service -> 태그 클래스: tcms/webUtility/Service (Service.java)속성 이름: methodName / ClassNameService.java안에 getHtmlContent / menu_SCV값이 들어가서 수행한다.'JAVA' 카테고리의 다른 글
[JAVA] 정규표현식 (0) 2018.12.12 [이클립스] DEBUG 사용 (0) 2018.12.12