AR삽질러

JSP - JSTL(JSP Standard Tag Library)(2) 본문

JAVA/JSP

JSP - JSTL(JSP Standard Tag Library)(2)

아랑팡팡 2023. 3. 12. 18:33
728x90

1. JSTL - forEach - 홀수의 합, 구구단, 배열, Map

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
	java.util.HashMap<String, Object> mapData = new java.util.HashMap<String, Object>();
	mapData.put("name", "AR삽질러");
	mapData.put("today", new java.util.Date());
%>    
<c:set var="intArray" value="<%=new int[] {1,2,3,4,5} %>"/>
<c:set var="map" value="<%= mapData %>"/>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSTL forEach</title>
</head>
<body>
<h1>1~100까지 홀수의 합</h1>
<hr>
<c:set var="sum" value="0"/>
<c:forEach var="i" begin="1" end="100" step="2">
<c:set var="sum" value="${sum+i }"/>
</c:forEach>
1~100까지 홀수의 합 : ${sum }
<hr>

<h1>구구단 9단</h1>
<hr>
<ul>
<c:forEach var="i" begin="1" end="9">
 <li>9 * ${i} = ${9 * i }</li>
</c:forEach>
</ul>

<h1>int형 배열</h1>
<hr>
<c:forEach var="i" items="${intArray }" begin="2" end="4">
	[${i }]
</c:forEach>

<h1>Map</h1>
<hr>
<c:forEach var="i" items="${map }">
	${i.key } = ${i.value }<br></
</c:forEach>

</body>
</html>

2. JSTL - forTokens태그 

<c:forTokens var="token" items="문자열" delims="구분자">
	${token}의 사용
</c:forTokens>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>forTokens</title>
</head>
<body>
<h1>콤마와 점을 구분자로</h1>
<hr>
<c:forTokens var="token" items="피카츄, 라이츄. 파리이. 꼬북이, 버털플, 야도란, 푸린, 냐옹이" delims=",.">
	${token }
</c:forTokens>
</body>
</html>

 

3. JSTL - catch태그 : 예외 발생태그

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>catch태크</title>
</head>
<body>
<c:catch var="ex">
	<h1>name 파라미터 값 : = <%=request.getParameter("name") %></h1><br>
	<%if (request.getParameter("name").equals("test")) {%>
		${param.name }은 test입니다.
	<%} %>
</c:catch>
<br>
<c:if test="${ex != null }">
<h1>예외가 발생하였습니다!</h1><br>
${ex }
</c:if>
</body>
</html>

 

 

4. 국제화 태그 : FMT

- FMT (Formatting)는 다국어 지원과 관련된 태그 라이브러리로 특정 지역의 메시지를 출력해주고 싶은 경우 주로 사용되며 한글 브라우저에서는 한글 메시지를 영문 브라우저에서는 영문 메시지를 보여주는 태그이다.

 

기능

 1. 형식화된 숫자출력

 2. 날짜 및 시간 형식 지정

 3. 메시지 번들에서 메시지 가져오기

 4. 국제화된 텍스트 형식 지정 등

 

5. SQL관련 태그

- 표준드라이버 설정

- JNDI가 설정되어 있는 경우

sql:query 태그

- JNDI가 설정되어 있는 경우

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSTL sql</title>
</head>
<body>
<sql:query var="rs" dataSource="jdbc/myOracle">
	select * from tempmember
</sql:query>
<table border="1">
	<!-- Fild Name -->
	<tr>
		<c:forEach var="columnName" items="${rs.columnNames }">
			<th><c:out value="${columnName }"/></th>
		</c:forEach>
	</tr>
	<c:forEach var="row" items="${rs.rowsByIndex }">
	<tr>
	<!-- 피드수반복 -->
	<c:forEach var="column" items="${row }" varStatus="i">
		<td>
			<c:if test="${column != null }"><!-- null이 아니면 -->
				<c:out value="${column }"/>
			</c:if>
			<c:if test="${column == null }">
				&nbsp;
			</c:if>
		</td>
	</c:forEach>
	</tr>
	</c:forEach>
</table>
</body>
</html>

 

6. JSTL함수사용

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<c:set var="str1" value="Functions <태그>를 사용합니다."/>
<c:set var="str2" value="사용"/>
<c:set var="tokens" value="1,2,3,4,5,6,7,8,9,10"/>

length(str1) = ${fn:length(str1) }<br>
toUpperCase(str1) = "${fn:toUpperCase(str1) }"<br>
toLowerCase(str1) = "${fn:toLowerCase(str1) }"<br>
substring(str1, 3, 6) = "${fn:substring(str1, 3, 6) }"<br>
substringAfter(str1,3,6) = "${fn:substringAfter(str1, str2) }"<br>
substringBefore(str1, str2) = "${fn:substringBefore(str1, str2) }"<br>
trim(str1) = "${fn:trim(str1) }"<br>
replace(str1, src, dest) = "${fn:replace(str1, " ", "-") }"<br>
indexOf(str1, str2) = "${fn:indexOf(str1, str2) }"<br>
startsWith(str1, str2) = "${fn:startsWith(str1, str2) }"<br>
endsWith(str1, str2) = "${fn:endsWith(str1,str2) }"<br>
contains(str1, str2) = "${fn:contains(str1, str2) }"<br>
containsIgnoreCase(str1, str2) = "${fn:containsIgnoreCase(str1, str2) }"<br>
<br>
<c:set var="array" value="${fn:split(tokens, ',' }"/>
join(array, "-") = "${fn:join(array,"-" }"<br>
escapeXml(str1) = "${fn:escapeXml(str1) }"<br>
</body>
</html>

 

728x90
반응형
LIST

'JAVA > JSP' 카테고리의 다른 글

JSP - 1장 JSP프로젝트 작성, 2장 JSP폼 태그 활용  (0) 2023.03.24
JSP - Model2  (0) 2023.03.13
JSP - JSTL(JSP Standard Tag Library)  (0) 2023.03.12
JSP - 표현언어(Expression Language)  (0) 2023.03.10
JSP - 파일업로드(자카르타API)  (0) 2023.03.10