728x90
반응형
SMALL
안녕하세요~ 요번시간에는 jsp jstl의 간단한 예제들과 특징에 대해서 알아보겠습니다~ㅎㅎㅎ
1. JSTL 이란?
JSTL은 JSP 표준라이브러리(JSP Standard Tag Library)의 약어이다. 자주 사용될 수 있는 커스텀 태그들을 모아서
표준으로 모아놓은 태그 라이브러리다.
JSTL 의 종류
라이브러리명접두어주요 기능URI
코어 | c | 변수 지원, 제어문, 페이지 관련 처리 | http://java.sun.com/jsp/jstl/core |
함수 | fn | collection 처리, String 처리 | http://java.sun.com/jsp/jstl/fuctions |
포매팅 | fmt | 포맷 처리, 국제화 지원 | http://java.sun.com/jsp/jstl/fmt |
데이터베이스 | sql | DB관련 CRUD 처리 | http://java.sun.com/jsp/jstl/sql |
XML | x | XML관련 처리 | http://java.sun.com/jsp/jstl/xml |
사용법
위의 표에서 참고하여 JSP 상단에 <%@ taglib prefix="접두어" uri="URI 경로" %> 를 적어주면 된다. 접두어야
마음대로 쓸 수 있는 모양이지만 기왕이면 표준을 지키는게 좋습니다~!!
2. core 의 주요 기능
-
<c:set> : 변수 선언, 할당
- scope 속성 : 범위 4가지(page, request, session, application), default 는 page
- ex. int count = 10; = <c:set var="count" value="10">
-
<c:out> : 출력
- ex. System.out.println("hello");을 간단하게 <c:out value="hello">
-
<c:remove> : 변수값 remove
- scope 속성
-
<c:if> : if문, else문 없음
- var 속성 : 조건식의 값을 저장할 변수
- scope 속성 : boolean 변수가 사용될 범위를 뜻함
- ex. <c:if test="조건식"> 참일때 실행할 문장 </c:if>
-
<c:choose>, <c:when>, <c:otherwise> : if-else 문 처럼 사용 가능
-
when 이 true 이면 해당 블럭 실행
-
모든 when 이 false 이면 otherwise 블럭 실행
-
<c:choose>
<c:when test="${empty boardList}">
등록된 글이 없습니다.
</c:when>
<c:when test="조건식">
...
</c:when>
<c:otherwise>
...
</c:otherwise>
</c:choose>
-
<c:forEach> : for문이다
var 사용할 변수명 Required items Collection 객체(List, ArrayList) Required begin 시작 index(default = 0) end 종료 index(default = items크기-1) step 증감 수 varStatus 반복상태를 알 수 있는 변수
<c:forEach var="item" items="${list}" begin=0 end=5 step=1 varStatus="status"> 번호 : ${status.count} 이름 : ${item.name} 나이 : ${item.age} 주소 : ${item.addr} </c:forEach>
3. fuctions 의 주요 기능
- boolean startsWith(java.lang.String, java.lang.String) : 문자열A가 문자열B로 시작하는 경우, true 반환
- ex.
<a class="<c:if test="${fn:startsWith(servletPath, '/board')}">active</c:if>" href="/board">
- ex.
jsp jstl 코딩 간단한 예제!!
- jstl.jsp
<%@page import="mkPkg.Person"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Ex05_jstl.jsp<br>
<c:out value="Hello World"/><br>
<%
String msg = "Hi~";
out.println("msg:" + msg + "<br>");
pageContext.setAttribute("msg1", "aaa");
%>
\${msg} : ${msg} <br> <!-- 공백 -->
\${msg1} : ${msg1} <br>
<c:set var="msg2" value="JSTL"/> msg2=JSTL<br>
\${msg2} : ${msg2}<br>
\${msg2} : <c:out value="${msg2}"/><br>
<!-- msg3=EL -->
<c:set var="msg3">
EL
</c:set>
\${msg3} : ${msg3}<br>
\${msg3} : <c:out value="${msg3}"/><br>
<hr>
객체만들기1 <br>
<%
//Person per = new Person("윤아",30,"여");
Person per = new Person();
per.setName("윤아");
per.setAge(30);
per.setGender("여");
pageContext.setAttribute("abcd", per); // 이름,갑 abcd=per
%>
name1 : <%= per.getName()%> <br>
name2 : <% out.println(per.getName());%> <br>
name3 : ${ abcd.name } <br>
name4 : <c:out value="${ abcd.name }"/><br>
name5 : <c:out value="<%= per.getName()%>"/><br>
name6 : ${ per.name } <br>
<br>
객체만들기2 <br>
useBean 액션태그
per2
태연,30,"여"
<jsp:useBean id="per2" class="mkPkg.Person"/>
<jsp:setProperty property="name" name="per2" value="태연"/>
<jsp:setProperty property="age" name="per2" value="30"/>
<jsp:setProperty property="gender" name="per2" value="여"/><br>
age1 : <jsp:getProperty property="age" name="per2"/> <br>
age2 : <%=per2.getAge() %> <br>
age3 : ${per2.age } <br>
<br>
객체만들기3 <br>
<!-- Person per3 = new Person(); -->
<c:set var="per3" value="<%= new Person() %>"/>
<!-- per3.setName("써니"); -->
<c:set target="${per3 }" property="name" value="써니"/>
<c:set target="${per3 }" property="age" value="50"/>
<c:set target="${per3 }" property="gender" >
남
</c:set>
gender1: ${per3.gender } <br>
gender2: <%-- <%=per3.getGender() %> --%><br>
gender3: <%-- <jsp:getProperty property="gender" name="per3" /> --%> <br>
gender4: <c:out value="${per3.gender }" />
이렇게 사용하면 되고요~ㅎㅎㅎ
이제 마지막으로 웹에서 가져온 결과도 띄어볼께요잉~~!!!!!!!
- 참고링크
jstl(종류, 사용법 등등) - https://sjh836.tistory.com/136
728x90
반응형
LIST
'IT 관련,, > Java관련 언어들' 카테고리의 다른 글
[웹/eGovFrame]전자정프프레임워크 처음 설정 경로 바꾸기!! (0) | 2020.12.05 |
---|---|
[JSP/Servlet]서블릿을 이용한 mvc2패턴을 알아보자~!! (0) | 2020.09.27 |
[웹/JSP]jsp 커넥션풀(dbcp) DB 연결하기~!! (0) | 2020.09.06 |
[웹/JSP]jsp model1 간단한 도서관리게시판-5(delete문) (0) | 2020.08.09 |
[웹/JSP]jsp model1 간단한 도서관리게시판-4(update문) (0) | 2020.08.09 |