글쓰기

스마트인재개발원/MySql

[21.06.18 JSTL + EL] 임폴트, 예약어와 사용법[스마트인재개발원]

RSpring41 2021. 6. 18. 17:39

======================  JSTL 임폴트 ======================

- Mybatisjar 파일 다운로드

https://mvnrepository.com/artifact/org.mybatis/mybatis/3.4.6

 

 

 

% 정부 프레임워크는 Mybatis가 기본이라 알고 있어야 하며 Spring도 알고 있어야 한다.

 

% WEB-INF 는 보안 디렉터리기 때문에 URL에 나오는 순간 오류이다.

 

% MVC에서는 jsp가 잘 나오지 않는다

    -- > 사용자가 웹페이지를 접속할때 Controller를 먼저 만나고 페이지가 포워딩되어 나온다.

    -- > 포워딩이란 " 

 

 

 

접속 주소가 list.do로 되어 있다.

 

 

 

 

 

====================== JSTL 사용법 ======================

% JSTL 이란 : 스크립틀리 없이 태그로 바로  사용 가능함

 

 

1. 해당 기능을 가진 jar 파일을 다운로드 하여 프로젝트 폴더에 저장해줌

jar 파일 다운로드 주소 : https://mvnrepository.com/artifact/javax.servlet/jstl

- 다운로드 페이지

- lib 폴더에 넣기

 

 

 

2. 맨 위에 지시자를 선언해준다

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

 

다른 예약어와 겹쳐서 사용 될 수 있기 때문에 접두어 "c"를 추가해서 사용할 수 있게 한다.

->    <c: 에약어> 로 사용 가능하다.

 

 

 

 

 

< for문>

<c:forEach var = "변수명" begin="시작" end="종료" step="증가량">

하위 태그에서 변수를 사용하기 위해서는 EL를 이용한다.  -- >>  ${변수명}

 

 

<% for(int row = 0 ; row < 5; row++){ %>
	<font size="<%=row%>">야호</font><br>
<% } %>

<!-- ================================================ -->

<c:forEach var="i" begin="1" end="5" step="1">
	<font size="${i}">야호</font><br>
</c:forEach>

 

 

< if문>

<c:if test="조건"> 실행할 테그</c:if>

<c:if test="${a%2 == 0}">
	a(${a})는 짝수입니다.<br>
</c:if>
<c:if test="${a%2 != 0}">
	a(${a})는 홀수입니다.<br>
</c:if>

 

 

< swich문>

<c:choose>
    <c:when test="조건">
        조건에 따라 실행될 명령어
    </c:when>


    <c:otherwise>
        예외처리
    </c:otherwise>
</c:choose>

<c:choose>
	<c:when test="${a%2 == 0}">
		a(${a})는 짝수입니다.<br>
	</c:when>
	
	<c:when test="${a%2 != 0}">
		a(${a})는 홀수입니다.<br>
	</c:when>
	
	
	<c:otherwise>
		일치하는 when이 없습니다.<br>
	</c:otherwise>
</c:choose>

 

 

 

 

 

 

 

======================  EL 예약어 ======================

EL(Expression Language)             ${변수명 or 이름}

데이터를 표한하기 위한 언어이다.

다양한 위치에 있는 데이터에 접근하기 위한 언어로 JSP의기본 문법을 보완하는 역활을 합니다.

 

 

<JSTL>에 변수를 출력할때 사용된다

EX)

<c:forEach var="i" begin="1" end="5" step="1">
         <font size="${i}">야호</font><br>
</c:forEach>

 

 

위와 같은 태그에 속성값을 가져오는것 뿐만 아니라 속성도 가져올 수 있다.

reuqest.GetAttribute("str",str);  str이라는 속성을 받기 때문에  ${str}로 사용이 가능하다.

 

 

 

 

 

====================== 이론 ======================

 

- 포워딩 : 어떤 데이터를 다른 파일로 넘겨주는 작업

ex) reuqest.SetAttribute("str",str);       reuqest.GetAttribute("str",str);

 

 

 

 

 

- controller에서 받은 값을 jsp에서 다시 받아서 처리하기 때문에 느림

 

스크립틀리와 JSIL차이

 

 

 

# 해당 수업은 '스마트인재개발원'에서 '지능형IoT 융합SW 전문가과정(NCS)과정'에서 진행한 교육내용입니다.

 

스마트인재개발원

4차산업혁명시대를 선도하는 빅데이터, 인공지능, 사물인터넷 전문 '0원' 취업연계교육기관

www.smhrd.or.kr