JSTL

2021. 7. 6. 20:53(구)공부/JSP

728x90

JSP 페이지에서 스크립트 요소로 인한 코드의 복잡함을 해결하기 위한 일종의 사용자 정의 태그의 표준

 

 - 서버 : <%=application.getServerInfo() %> <br>
 - 서블릿 : <%= application.getMajorVersion() %>.<%= application.getMinorVersion() %><br>
 - JSP : <%= JspFactory.getDefaultFactory().getEngineInfo().getSpecificationVersion() %> <br>

버전확인

 

Core 태그 - 변수 선억,삭제등 변수 작업 및 if , for 같은 제어기능, url 처리로 페이지 이동 기능제공

Formatting 태그 - 문자열이나 컬렉션 처리 함수. 숫자날짜시간등을 형식과하는 기능. 국제화 다국어 지원 기능 제공

Sql 태그 - 데이터베이스 삽입,수정,삭제,조회 가능 제공

Functions태그 - 문자열 처리 함수 제공

 

jstl.jar파일이 필요

<%@ taglib prefix="태그식별이름" uri="태그지원url" %>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

 

Core 태그 종류

<c:out> - 출력하는데 사용

<c:out value="${str1 }" default="기본출력값1"/>

<c:set> - 사용할 변수를 설정

<c:set var="str3" value="JSPStudy" scope="page"/>

<c:remove> - 설정한 변수를 제거

<c:remove var="str4"/>

<c:catch> - 예외 처리에 사용

<c:catch var="ex">
<%
int arr[] = { 1, 2, 3 };
int sum = arr[0] + arr[3];

%>
</c:catch>

${ex}

<c:if> - 조건문 처리

<c:if test="${head eq 'body'}">
   good
</c:if>

<c:choose> - 다중 조건문 처리

<c:choose>

 

    <c:when test="${name eq 'a'}">
        a
    </c:when>

 

    <c:when test="${name eq 'b'}">
        b
    </c:when>

 

    <c:otherwise>
       c
    </c:otherwise>


</c:choose>

 

<c:when> - choose의 서브 태그로 조건문이 참일 때

<c:otherwise> - choose의 서브태그 조건문이 거짓일 때

<c:choose>
<c:when test="${param.color=='yellow'}">>
<c:set var="c" value="노란색"/>
</c:when>
<c:when test="${param.color=='blue'}">>
<c:set var="c" value="파란색"/>
</c:when>
<c:otherwise>
<c:set var="c" value="검정색"/>
</c:otherwise>
</c:choose>

<c:forEach> - 반복문 처리

<%String str1[] = {"java","jsp","android","spring"};%>

<c:set var="arr" value="<%=str1%>"/>

<c:forEach var="i" items="${arr}" begin="0" step="1" end="3">
${i}<br>
</c:forEach>

<c:forTokens> - 구분자로 분리된 각각의 토큰 처리에 사용

<%String str2 = "블핑;aoa,트와이스;";%>

<c:set var="s" value="<%=str2 %>"/>
<c:forTokens var="st" items="${s}" delims=",;">
<b>${st}</b>
</c:forTokens>

<c:import> - url을 사용하여 다른 리소스 결과를 삽입

<c:param> - url관련 태그의 파라미터를 설정

<c:import url="http://localhost:8090/myapp/jstl/coreTags2.jsp">
<c:param name="id" value="홍길동"/>
<c:param name="color" value="blue"/>
<c:param name="msg" value="테스트"/>
</c:import>

<c:redirect> - 설정한 경로로 이동하는데 사용

<c:redirect url="https://www.tesla.com/ko_kr"/>

<c:url> - url을 재작성하는데 사용

<c:url var="url1" value="https://google.com">
<c:param name="q" value="jsp"/>
<c:param name="safe" value="off"/>
</c:url>

 

Formatting 태그

String tzArr[] = TimeZone.getAvailableIDs(); 타임존 목록 어레이로 받아오기 asia/seoul 같은 것

<fmt:requestEncoding> - 인코딩 설정 request.setCharacterEncoding와 같은 것

<fmt:requestEncoding value="utf-8"/> 

<fmt:setTimeZone> - 타임존 설정

<fmt:setTimeZone value="Europe/London"/>

<fmt:setLocale> - 사용하고자 하는 로케일 설정

<!-- Locale지정 ko는 국가코드 kr 언어코드 -->
<fmt:setLocale value="ko_kr"/>

<fmt:formatNumber> - 숫자를 원하는 문자열 형식으로 변환

금액 : <fmt:formatNumber value="100000000" type="currency"/><br>

숫자 : <fmt:formatNumber value="${num }" type="number"/>
퍼센트 : <fmt:formatNumber value="${num }" type="percent" groupingUsed="false"/><br>

달러 : <fmt:formatNumber value="${num }" type="currency" currencySymbol="$"/><br>

<fmt:formatDate> - 날짜 및 시간을 원하는 형식으로 출력

일시 : <fmt:formatDate value="${now }" type="both" dateStyle="full" timeStyle="full"/>

<fmt:parseNumber> - 문자열을 원하는 숫자 형식으로 변환

패턴 : <fmt:parseNumber var="num2" integerOnly="true" value="123.456"/>

<fmt:setBundle> - 사용할 번들 지정

<fmt:setBundle var="note" basename="jstl.note"/>

<fmt:message> - 지정된 bundle 값을 가져옴

country:<fmt:message bundle="${note }" key="country"/><br>

 

 

 

Sql 태그 종류

<sql:setDataSource> - DataSource 설정에 사용

<sql:setDataSource url="jdbc:oracle:thin:@localhost:1521:XE"
driver="oracle.jdbc.driver.OracleDriver" user="office" password="dteam"
var="db" scope="application" />

<sql:query> - 조회 쿼리문 실행

<sql:query var="lists" dataSource="${db }">
select id, name from tblMember
</sql:query>

<sql:update> - 삽입 수정 삭제 쿼리문 실행

<sql:dateParam> - 쿼리문에 날짜형식 파라미터 설정

<sql:param> - 쿼리문에 문자열 형식 파라미터 설정

<sql:transaction> - 트랜잭션 구현

 

Functions 태그 종류

contains() - 검색 대상 문자열 포함 여부

containsIgnoreCase() -대소문자 구분 없이 포함 여부

startsWith() - 특정 문자열로 시작하는지 여부

endsWith() - 특정 문자열로 끝나는지 여부

escapeXml() - 문자열에 포함된 특수문자를 특정 코드로 변환

indexOf() - 검색 대상 문자열의 첫 위치 값을 반환

split() - 문자열을 설정 구분자로 분리하여 배열로 반환

join() - 배열 형태의 문자열을 설정한 구분자로 연결하여 반환

length() - 문자열 길이 반환

substring() - 특정 위치의 문자열을 반환

substringAfter() - 설정한 문자열 이후의 문자열 반환

substringBefore() - 설정한 문자열 이전의 문자열 반환

replace() - 검색 대상 문자열을 설정한 문자열로 변경 반환

toLowerCase() - 모두 소문자로 변환

toUpperCase() - 모두 대문자로 변환

trim() - 문자열 앞뒤 공백 제거 반환

 

 

 

 

 

 

 

 

 

 

728x90

'(구)공부 > JSP' 카테고리의 다른 글

EL(Expression Language)  (0) 2021.07.26
서블릿(Servlet)이란?  (0) 2021.07.07
쿠키  (0) 2021.07.06
세션  (0) 2021.07.06
필터  (0) 2021.07.06