일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- set
- coe준비물
- map
- 크로스하우스송금
- coe필요서류
- jquery
- 일본크로스하우스
- 일본어학원후기
- list
- coe타임라인
- 일본회사내정
- SQLD
- 해외송금
- 전화일본어후기
- 일본회사특징
- jsp
- 일본개발자
- 일본출국준비
- SQL
- 크로스하우스모인
- 모인
- 컬렉션리스트
- 일본it회사
- Java
- 일본재류자격
- 일본회사합격
- 크로스하우스
- 일본어 시제
- javascript
- 일본개발자면접
- Today
- Total
분명 잔 것 같은데 졸리다
[JSP] JSTL의 주요 태그 라이브러리와 간단한 예시 코드 본문
JSTL (JSP Standard Tag Library)
: JSP 페이지에서 자바 코드의 사용을 줄이고 보다 표현력 있는
방식으로 웹애플리케이션을 개발할 수 있게 해주는 태그라이브러리의 모음
(자바 코드를 직접 사용하지 않고 동적인 웹페이지 제작 가능,
웹 애플리케이션의 개발과 유지보수가 훨씬 용이해진다.)
※ 주요 태그 라이브러리
01. Core : 변수 지원, 흐름제어, url 처리등의 기본작업 수행
1) 태그 라이브러리 추가(선언)
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
2) 조건문 사용 : <c:forEach> 태그
<c:forEach var="item" items="${list}">
Item: ${item}<br/>
</c:forEach>
3) 반복문 사용 : <c:set> 태그
<c:set var="number" value="100"/>
The number is ${number}.
02. Formatting : 숫자, 날짜, 시간의 형식화 및 국제화 작업을 지원
1) 태그 라이브러리 추가(선언)
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
2) 날짜 및 시간 형식화 : <fmt:formatDate> 태그
<fmt:formatDate value="${now}" pattern="yyyy-MM-dd HH:mm:ss" />
: value에 지정된 날짜/시간값, pattern속성에서 지정된 형식으로 변환하여 출력
3) 숫자 형식화 : <fmt:formatNumber> 태그
<fmt:formatNumber value="${salary}" type="currency" currencySymbol="$" />
: value에 지정된 숫자를 형식화하여 출력, salary 변수의 값을 달러($) 통화 기호로 사용
4) 메시지 형식화와 국제화 : <fmt:message> 태그
<fmt:setLocale value="en_US"/>
<fmt:bundle basename="messages">
<fmt:message key="greeting"/>
</fmt:bundle>
: 리소스 번들로 특정 로케일에 맞는 텍스트 메시지를 포함
5) 날짜 및 시간 파싱 : <fmt:parseDate> 태그
<fmt:parseDate value="2024-01-01 12:00:00" pattern="yyyy-MM-dd HH:mm:ss" var="parsedDate" />
: 문자열 형태의 날짜를 파싱하여 날짜 객체로 변환
03. SQL : DB 접근 및 조작을 위한 태그 제공
1) 태그 라이브러리 추가(선언)
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
2) 데이터소스 설정과 쿼리 실행
<sql:setDataSource var="ds" driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/mydb"
user="root" password="password"/>
<sql:query dataSource="${ds}" var="result">
SELECT * FROM Users WHERE id = 1;
</sql:query>
: <sql:setDataSource> 태그로 데이터 소스 설정, <sql:query> 태그로 쿼리작성
⚠️ 보안문제, 코드의 분리, 관리의 복잡성 등으로 실제 개발에는 권장되지 않으므로 분리하는게 좋다! |
04. XML : XML문서의 처리 및 변환을 위한 태그 제공
1) 태그 라이브러리 추가(선언)
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>
2) XML 데이터 파싱 및 출력
<x:parse xml="${xmlData}" var="xmlDocument"/>
<x:out select="$xmlDocument/book/title"/>
: xmlData에 저장된 XML 데이터를 파싱 하여 xmlDocument 객체에 저장 후 해당 XML 문서에서 선택한 요소를 출력
3) XPath를 사용한 조건 처리 및 반복 처리
<x:parse xml="${xmlData}" var="xmlDocument"/>
<x:if select="$xmlDocument/books/book[@category='fiction']">
Fiction books are available.
</x:if>
<x:forEach select="$xmlDocument/books/book" var="book">
<x:out select="$book/title"/>
<br/>
</x:forEach>
: xmlData로부터 XML 데이터 파싱 후 select한 조건에 맞는 요소가 있는 경우 메시지 출력, 이후 forEach의 select에 해당하는 요소를 반복하여 out(출력)
05. Functions : 문자열 처리등의 기능을 제공하는 EL(Expression Language) 함수의 집합
- 태그대신 함수로서 작동한다는 점이 차이가 있다.
1) 태그 라이브러리 추가(선언)
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
2) 문자열 길이 구하기 : ${fn:length}
${fn:length('Hello World')}
: 11을 반환
3) 문자열 분할하기 : ${fn:split}
<c:forEach var="word" items="${fn:split('Java,JSP,Servlets', ',')}">
${word}<br/>
</c:forEach>
: 괄호 안 문자열을 ,로 분할하여 각각의 단어를 구분하여 출력
4) 문자열 대체하기 : ${fn:replace}
${fn:replace('JSP and Servlets', 'Servlets', 'Java EE')}
: 첫번째 문자열에서 두번째 문자열을 세번째 분자열로 대체 = JSP and Java EE
5) 문자열에서 부분 문자열 추출하기 : ${fn:substring}
${fn:substring('Hello World', 6, 11)}
: 지정된 문자열에서 6번째부터 11번째 전까지의 부분 문자열을 반환 = World
fn:contains() | 문자열이 특정 부분 문자열을 포함하는 지 확인 | |
fn:endsWith() | 문자열이 특정 부분 문자열로 끝나는지 확인 | |
fn:trim() | 문자열의 앞과 뒤에서 공백 제거 |
'FE > JSP' 카테고리의 다른 글
[JSP] Include (header, footer) + 파일 생성시 템플릿으로 셋팅 (0) | 2024.06.12 |
---|---|
[JSP] 날짜 컬럼을 원하는 형식으로 포맷하기 (Oracle) (0) | 2024.04.01 |
[JSP] 게시판 체크박스 다중삭제 구현 (JQuery,Ajax) (0) | 2024.03.12 |
[JSP] 액션 태그(Action Tag) : JSP 코드를 HTML 태그와 같은 형태로 간단하게 사용하기 (0) | 2024.02.27 |
[JSP] Spring MVC, Mode1 vs Model2 (2) | 2024.02.26 |