[JSP] include 사용방법


JSP include의 사용방법은 크게 두가지가 있다.

1. include directive(<%include file="file.jsp"%>) : 인클루드 디렉티브

사용방법 : 페이지가 단순히 텍스트 위주로 구성되어 있을때 사용하기 좋다.


예를 들면 페이지 헤더 또는 메타태그 등등

작동방식


동시에 컴파일 되기 때문에 main page에서 사용하던 서버변수를 include page에서도 똑같이 사용가능 하다.




2. include action tag(<jsp:include page="file.jsp" />) : 인클루드 액션 태그


사용방법 : 모듈화 되어있는 페이지들을 합쳐서 보여줘야 할 때 사용하기 좋다.


예를들면 온라인 마켓같은 곳의 카테고리만 분류하고 레이아웃이 같은 상품 정보만 보여주는 곳 등등...

작동 방식



HTML의 렌더링 방식과 같이 codument의 상단부터 차레로 하단까지 처리한다.


각각의 페이지에서 선언된 서버변수는 같이 사용할 수 없다.


페이지에 파라메터 전달하기


사용 예제

<jsp:include page="productModule.jsp">
    <jsp:param name="category" value="product1" />
</jsp:include>

한 페이지에 여러 jsp:include를 사용하여 여러 모듈을 붙이는 방식으로 사용할 수 있다.



'JAVA' 카테고리의 다른 글

[JAVA] null 체크  (0) 2017.12.13
[JAVA] 패스워드 정규식 (Regex)  (1) 2017.12.05
[JSP] jstl 과 el의 차이점  (0) 2017.12.04
[JSTL]choose와 when, otherwise 사용법  (0) 2017.11.23
[JSTL]fmt:formatNumber  (0) 2017.11.22

JSTL과 EL의 차이점


JSP를 사용하면 사용하게 되는 EL과 JSTL이있습니다.


EL은 Expression Language를 뜻하고


JSTL은 JSP Standard Tag Library를 뜻합니다.



EL예제


<% = test %>
${test}

위와 같은 형태로 작성되는것을 EL이라고 한다.


JSTL예제


<c:if test=""></c:if>
<c:forEach items=""></c:forEach>


위와 같은 형태로 작성하는 문법을 JSTL이라고 한다.


보통 우리가 쓰는 JSTL에서는 JSTL안의 변수에 EL을 담아서 쓰고 있다고 생각하면 된다.


그 예제는 다음과 같다.


JSTL + EL 예제



<c:forEach items="${array}" var="el" varStatus="idx">
  <p>${el.text}<p>
</c:forEach>



EL의 연산자 종류

연산부호 

 연산자

 +

-

 *

 /

 div 

 &&

and 

|| 

 or 

 ==

eq 

!= 

ne 

ge 

lt 

<= 

ge 

>= 

le 



주의할 점 

문자열에 대해서는 + 연산자는 할 수 없다.


따라서 다음과 같은 방법으로 표현한다.


<c:forEach items="${array}" var="el" varStatus="idx">
  <p>${idx.index} : ${el.text}<p>
</c:forEach>


JSTL CORE종류


<c:set> 

 변수명에 값을 할당

 <c:out>

 값을 출력

 <c:if>

 조건식에 해당하는 블럭과 사용될 scope설정

 <c:choose>

 다른 언어의 switch와 비슷 

 <c:when>

 switch문의 case에 해당

 <c:otherwise>

 switch문의 default에 해당

 <c:forEach>

 다른언어의 loop문 items 속성에 배열을 할당할 수 있음


주로 사용하는 것은 위와 같다.



다음엔 JSTL의 커스텀에 대해서 적어봐야겠다. 



'JAVA' 카테고리의 다른 글

[JAVA] null 체크  (0) 2017.12.13
[JAVA] 패스워드 정규식 (Regex)  (1) 2017.12.05
[JSTL]choose와 when, otherwise 사용법  (0) 2017.11.23
[JSTL]fmt:formatNumber  (0) 2017.11.22
VO, Map 객체 JSON 으로 변환  (0) 2017.11.19

<c:choose>


<c:choose>는 자바의 Switch문과 비슷한 역할을 합니다.


<c:when>

case와 같은 역할을 하는것은 <c:choose>안의 <c:when>태그 입니다.


<c:otherwise>

default문 같은 역할을 사용하고 싶으면 <c:shoose>태그 안에 <c:otherwise>태그를 사용합니다.


속성


<c:choose><c:otherwise> 는 속성을 사용하지 않습니다.


<c:when>은 test 속성을 사용합니다.(필수)


예제


숫자를 비교하여 HTML의 문장을 변경하는 예제이다.


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

<html>
   <head>
      <title>예제 example</title>
   </head>

   <body>
      <c:set var = "money" scope = "session" value = "${5000}"/>
      <p>내가 가진 돈은  : <c:out value = "${salary}"/>원 이다.</p>
      <c:choose>
         <c:when test = "${money<= 0}">
            돈 한푼도 없어요.
         </c:when>
         <c:when test = "${money > 5000}">
            담배 한갑정도 살 수 있어요.
         </c:when>
         <c:otherwise>
            답이 없네...
         </c:otherwise>
      </c:choose>
   </body>
</html>



'JAVA' 카테고리의 다른 글

[JAVA] 패스워드 정규식 (Regex)  (1) 2017.12.05
[JSP] jstl 과 el의 차이점  (0) 2017.12.04
[JSTL]fmt:formatNumber  (0) 2017.11.22
VO, Map 객체 JSON 으로 변환  (0) 2017.11.19
java의 map이나 VO 객체를 JSON으로  (1) 2017.11.17

+ Recent posts