Java 기반 클라우드 융합 개발자 과정 - KH 정보교육원/8월

22.08.17 - [ WAS ] JSTL - Java server pages Standard Tag Library

giggs 2022. 9. 1. 10:35

 

 

-- Index --

 

 

1. 서버-
라이브러리연결
2. 라이브러리-
파일연결
3. core
라이브러리 
4. function
라이브러리
5. format
라이브러리
jar파일 서버와 연결 taglib
prefix
uri
<c: >
if, foreach
varstatus
set, out
choose-when-outerwise
${ fn:  }
length()
split()
toLowerCase()
<fm : >
parseDate
formatDate

 

 

 


 

 

1. JSTL 라이브러리 연결하기

  • 파일 다운로드하여서 연결하기
  • CDN 방식으로 연결하기

 

 

 

1-1 : 라이브러리 파일을 연결시켜주어야 해석 가능하다.

 

  • EL은 jasper가 ${ } 코드를 해석해서 동작하게 해 주듯
  • JSTL 라이브러리 연결해놓아야지만 jasper가 이거는 if/for 이런 거구나 해석해서 동작해준다.

 

 


 

1-2 : 라이브러리(jar 파일) 다운로드 받아서 서버에 연결시켜주기 

 

 

 

 

 

 


 

 

 

 

2. 실제 사용할 jsp 파일에서 어떤 라이브러리 사용할 것인지 알려주기

  • .<%@  taglib     %>

 

 

2-1 : uri 설정 필요 

 

  • 사용할 라이브러리를 uri로 알려주어야 한다.
  • 우리가 지금 사용해볼 것은 jsp/jstl/core 라이브러리
  • #check : 중간에 sun은 java 관리하는 회사

 

 

 


 

 

2-2 prefix 설정 필요 

 

  • 그냥 사용하면 jasper가 내가 아는 것 중에 if는 없는데? 인식 못한다.
  • if를 사용할 건데 c라는 공간에 있는 if 사용할 거다 – if문으로 인식 – 다르게 처리해준다.
  • prefix = “c” 여기 c는 변수다. 내 마음대로 지정해도 괜찮다.
  • if를 사용할 때는 c를 붙이겠다. for를 사용할 때는 c를 붙이겠다 이런 내용
  • 보통 core 라이브러리 사용하니가 c라고 변수명 지정해준다.
  • prefix 없이 그냥 사용하면 html 코드로 인식된다.

 

 

 

 

 


 

 

 

3. core 라이브러리 사용해보기 

 

 

3-1 : <c: if > 사용해보기 

  • <c : if     test=" 조건식 " >
  • el코드 같이 사용 가능 ( 자바 코드도 가능 하지만 굳이 사용 X )

 

 


 

 


 

 

else는 없다 if2번 사용

 

 

 


 

 

3-2 : <c: forEach > 사용해보기

  • <c: forEach  begin=" "  end = " " step = " " var = " " >
  • <c: forEach  items= "  " var = " " >

 

 


이렇게 써도 되지만

 

 


 

 

향상된 for문처럼 items 에 있는 것들 하나하나 food라는 변수에 들어간다.

 

 

 

 

 

 


 

3-3 : <c: varStatus >

  • <c: varStatus = "  "  >

 

 


 

varStatus 활용해서 마지막 요소 안 나오게 해 보기

 

 

 


 

3-4 : <c: set  >

  • <c: set  value = " "  var = " " >

 

 

# 변수 지정해서 사용하게 할 수 있다.

x라는 변수 사용 가능하다다만, 현재 페이지에서만 사용 가능하다..

 

 


 

# 특정 객체의 특정 property값을 수정해 줄 수 있다. ( 마치 세터처럼 )

현재 페이지에서만 값 변경 아닌 reqsession에 담긴 객체의 property값을 변경시킨 것!

 

 

 

 

 


 

 

3-5 :  <c: out >

  • <c: out    value = "  " default = " " >

 

 

이스케이프 처리 자동으로 해준다. - c:out없이 그냥 ${param}으로 받으면 알람 실행된다..

 

 


입력 값 없으면 default 에 지정된 값으로 출력된다.

 

 

 


 

 

3-6 : <c: choose > - <c: when > -  <c: otherwise >

  • <c: choose >  <c: when  test = "  조건식 " /> <c: outerwise />  <c: choose>

 

c:choose 와 c:otherwise 사용하면 switch case 문처럼 사용 가능

( 더 정확히는 when에 조건식을 넣을 수 있으므로 else if랑 같다고 생각 )

 

 

 

 

 


 

 

 

 

4. function 라이브러리 사용해보기 

 

 

 

 

 

 


 

#CHECK : function 라이브러리는 el 안에서 활용

 

 


 

 

4-1 : length()

  • ${ fn: length( )  } - 파라미터의 글자 수 구해준다.

 

 


 

4-2 :  split ( )

  • ${ fn:split() } - 문자열 나눠서 배열로 반환

 

 


4-3 : toLowerCase()

  • ${ fn: toLoserCase() }  -  파라미터 소문자로 변환

 

 

 

 

나머지 functions 애들은 검색해보면서 사용해보기~

 

자바랑 비슷하다.

 

 

 

 

 


 

 

 

 

5. Formating 라이브러리 사용해보기 

 

 

 


 

5-1 : formatDate 

  • <fm: parseDate  value = "  "  var  = "  "  pattern = "  " > </fm: parseDate>
  • <fm: formatDate value = "  "  pattern = "  "  / >
  • String문자열을 date형식으로 parseDate하고
  • 출력 형식 지정 formatDate

 

 

 

~ 나머지도 테스트 해보기 ~