JSP

[JSP] JSTL

(งᐛ)ว 2023. 10. 31. 21:42
728x90

JSTL(Java Standard Tag Library)

자바코드를 html태그형식으로 쓸 수 있게 해줌

 

톰캣파일경로(apache-tomcat-8.5.93-windows-x64 > apache-tomcat-8.5.93 > webapps > examples > WEB-INF > lib) 에서

taglibs-standard-imple-1.2.5.jar

taglibs-standard-spec-1.2.5.jar

 

두 파일을 해당 영역에 추가

 


 

코어(core) 라이브러리

JSTL의 코어 라이브러리는 가장 핵심적인 기능을 제공한다. 

코어 라이브러리의 커스텀 액션을 이용하면 일반 프로그래밍 언어에서 제공하는 변수 선언, 반복 등의 로직을 구현할 수 있다. 

 

<c:if> 커스텀액션 사용하기

<c:if> 커스텀 액션은 자바의 if문과 비슷한 역할을 한다. 

자바와 다른 점은 조건식을 괄호 안에 쓰는 것이 아니라 test라는 이름의 애트리뷰트값으로 지정해야 한다. 

 

<c:choose> 커스텀액션 사용하기 

<c:choose> 커스텀 액션은 자바의 switch문과 비슷한 역할을 한다. 

<c:when>, <c:otherwise> 커스텀액션과 함께 사용되는데 각각 switch의 case,default와 비슷한 역할을 한다. 

 

<c:forEach> 커스텀액션 사용하기 

<c:forEach> 커스텀 액션은 자바의 for문과 비슷한 역할을 한다. 

 

결과 

 

 

<c:choose>

     <c:when test="${param.msg eq 10}">나는 10이야.</c:when>

     <c:when test="${param.msg eq 11}">나는 11이야.</c:when>

     <c:otherwise>모두 아니야</c:otherwise>

</c:choose>

 

👉 주소창에서 msg라는 이름을 가진 파라미터는 없으므로 '모두아니야'가 출력되는데 

주소창에 ?msg=10을 덧붙여주면 '나는10이야'로 변경됨

 

 

<c:forEach> items 에서 처리할 수 있는 데이터

- 배열

- Collection객체

- Iterator객체

- Enumeration객체

- Map객체

- 콤마로 구분된 항목들을 포함한 문자열

 

 

 

34행 이름 : ${u.name} / 나이 : ${u.age} <br>

👉 getter를 쓰지 않아도 데이터 출력이 가능하다. 필드만 써도 getter를 불러오는 효과가 있다.

그래도 VO에 getter가 꼭 있어야 한다. 없으면 오류발생하니 주의 

 


 

fmt 라이브러리

JSTL의 fmt 라이브러리는 국제화, 형식 기능을 제공한다. 날짜,숫자 등

 

결과

 

728x90

'JSP' 카테고리의 다른 글

[JSP] JSON  (0) 2023.11.01
[JSP] Ajax  (0) 2023.11.01
[JSP] EL 표기법 출력_2  (0) 2023.10.30
[JSP] EL 표기법 출력_1  (0) 2023.10.30
[JSP] EL 연산자  (0) 2023.10.29