<c: forEach> 반복문
레가시 프로젝트를 생성하면
아래의 것들을 차례로 해준다.
pom.xml
properties 수정 해주기
4.3.6
1.8
다른 dependencies도 떼오기
이런 화면 만들어 주세요,.
JSTL이란?
자바서버 페이지 표준 태그 라이브러리(JavaServer Pages Standard Tag Library)
[자료 출처] 감사합니다. 아주 많은 도움이 되었습니다.
https://daesuni.github.io/jstl/
JSTL의 기본 개념과 사용방법 정리
1. JSTL이란?
daesuni.github.io
EL이란?
표현 언어(Expression Language)라고 하며 줄여서 EL
EL은 자바스크립트에서 확장된 Xpath에서 힌트를 얻어 만들어진 언어로 값이 없는 변수(null)에 대해 좀 더 관대하고 데이터 형 변환을 자동으로 해주는 특징이 있다. EL을 사용하면 값이 없거나 형 변환 등에 전혀 신경 쓸 필요 없이 서버로 전송해서 형변환 없이 사용할 수 있다.
null 데이터와 빈데이터는 아무것도 없는 것처럼 표현된다.
null과 비어있는 문자열은 아무것도 표현하지 않는다.
list의 정보를 꺼내기 위해 for문
[2교시]
VO 클래스에 넣은 데이터를 꺼내올 떄
보통은 @Data만 사용한다.
@All을 전달인자가 있는 생성자, @No는 전달인자가 없는 생성자
이것을 테스트하기위해 아규먼츠 설정한것
이름을 게터로 꺼내기
getter가 없으면 오류가 난다.
ArryaList를 돌리려면 forEach를 써줘야 한다.
${friend.name}은 getter처럼 보이지 않지만 getter이다.
ArrayList에 들어있는 VO 표현하기
Map에 데이터 넣기
Map<String, Friend> map = new HashMap<>();
map.put("a", new Friend("이순신", 45, "010-1111-1111"));
Map의 특징 : 검색하는 속도가 빠르다. 순서대로 나오지 않는다.
검색할 일이 많으면 Map, 저장할 일이 많다면 List를 사용하는 것이 좋다.
map에 있는 것을 순회해서 사용하는 일은 거의 없지만 알고 있어야 한다.
fmap의 키가 "a", "b", "c"
실행화면 놓쳤지만 a / b/ c의 이름이 출력됨
${변수명["key"].name}
EL에서 제공하는 간단한 연산자의 사용
+ - * / % >=(ge), <=(le), ==(eq), !=(ne), <(lt), >(gt), !(not), empty, not empty
키워드에서 사용해도 된다.,
++ and, or
korea가 들어가 있는 str1의 정보에 el연산자를 사용해 표현해 보자면!
str2는 null
str3은 null은 아니지만 비어있다.
null은 아니지만, 비어있는 것은 맞다
위와 같이 el과 el연산자를 통해 표현할 수 있다.
범위 연산자
number는 123
c:if 사용시 test 안에는 조건식이 들어가야한다.
test의 조건식에서 참이라면 아래의 코드를 출력하는 것이다.
[3교시]
JSTL과 EL은 엮어서 자주 사용한다.
<c:set> 사용 예
현재 페이지 안에서만 사용 가능하다.
<c:set>는 끝태그를 신경쓰지 않고 변수 선언시 사용하기도..
9.JSTL 반복문 <c:forTokens>
<c:forTokens var="name" items="홍길동, 손오공, 사오정, 저팔계" delims=",">
items 안에 있는 값을 delim로 설정한 "," 로 구분해 반복한다.
구분하고 싶다고 하면
<c:forTokens items="홍길동/31, 손오공/32, 사오정/29, 저팔계/46" delims=",/">
${name} ,
</c:forTokens>
<c:forTokens>에는 상태 정보를 가져올 수 있다.
=> varStatus
=> 변수의 상태에 변수를 따로 지정하는 것임, 아래와 같이 "stat"
index
count
first
last
태그 표현
<a>태그로 이동할 주소를 명시 후 model을 이용해 값을 넣어주고
jsp 화면에서 ${tag} el을 이용해 출력하면 된다.
<c:out>
☆c:out은 값을 해석하지 않고 값을 그대로 보여준다.
차이를 알아야 한다.
JSTL - Formatted로 넘어갑니다~!
java.uti 사용
to_char로 가져오지 않았다는 전제하에
JSTL - Formatted를 사용하기 위해서는 태그 라이브러리 prefix="fmt"를 fmt을 사용해줘야 한다.
<fmt:formatDate>
코드가 정리되지 않은 것처럼 출력된다.
정리하고 싶다면 pattern을 사용해 원하는 출력 형식을 입력해준다.
type이 date가 아니라 time일 경우에는 시간만 출력된다.
month와 minutes가 겹치지 않도록 대소문자로 구분해준다.
달은 대문자 MM, 분은 소문자 mm을 사용한다.
연월일 시분초를 함께 쓰기 위해
날짜타입을 그대로 가져와 사용해야 할 경우에 사용한다.
'개발자로 가는 길(국비지원과정) > 4.Spring+ Ajax' 카테고리의 다른 글
[210707수] board (0) | 2021.07.07 |
---|---|
[210706화] JSTL Formatting/ 문자열 관련 Function(substring, (0) | 2021.07.06 |
[210702금] Spring 리다이렉트 (0) | 2021.07.02 |
[210701목] 스프링과 DB연동 (0) | 2021.07.01 |
[210630수] 스프링 용어 정리, 스프링 마이바티스 연동, 룸북 설치, 애노테이션 설명 (0) | 2021.06.30 |