2021. 7. 6. 20:53ㆍ(구)공부/JSP
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() - 문자열 앞뒤 공백 제거 반환
'(구)공부 > 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 |