[Boostcourse] 풀스택/웹 프로그래밍(풀스택)

JSTL { 흐름제어태그 forEach, import }

Ben의 프로그램 2023. 7. 18. 20:31
728x90
JSTL 흐름제어태그 forEach 문법
forEach 를 사용하면 배열이나 Collection 자료구조에서 하나씩 꺼내올 수 있습니다. 마치 for 문 처럼 반복할 횟수를 정해줄 수도 있습니다. 
문법을 살펴보겠습니다. forEach 태그를 사용하면 되는데요. items 는 근원지입니다. 즉 꺼내올 대상입니다. items 에 올 수 있는 것들은 collection 자료구조의 다양한 것들이 올 수 있습니다. 이 items 에는 여러 개가 있잖아요. 하나씩 꺼낼 때 쓸 변수가 var 입니다. begin 과 end 는 값을 읽어올 인덱스의 시작값과 끝값입니다. begin 이나 end 가 없다면 items 의 모든 것들을 꺼내오게 됩니다. 

 

JSTL 흐름제어태그 forEach 실습
List 와 ArrayList 를 사용했는데요. JSP 도 결국 자바 파일입니다. 따라서 다른 패키지에 있는 클래스를 사용하기 위해서는 import 를 해야합니다. 자동완성을 사용해서 import 구문이 자동으로 작성되도록 합시다. list 라는 ArrayList 를 생성한 다음 값들을 입력해주었습니다. 그리고 생성한 list 를 setAttribute 로 request scope 변수로 등록하였습니다.
forEach 구문을 사용하여 list에 담긴 item 들을 하나씩 꺼내고 있습니다. 이번에는 begin 과 end 를 설정하지 않았기 때문에 모든 item 이 출력되는 것을 확인할 수 있습니다. 
forEach 태그에 둘러쌓인 코드가 반복 실행되는 것을 확인할 수 있습니다. 
begin 속성을 추가해보았습니다. 0번 index 는 출력되지 않는 것을 확인할 수 있습니다.

 

JSTL 흐름제어태그 import 문법
import 를 이용하면 특정한 URL 페이지의 결과를 읽어들여서 그 결과를 변수에다 저장한 다음에 사용할 수 있게 됩니다. 
url 에는 읽어올 URL 을 지정해주면 됩니다. charEncoding 은 필수 속성은 아니고 필요하다면 사용합니다. var 속성에는 읽어온 값을 저장할 변수 명을 지정합니다. scope 에는 변수의 scope 를 어떻게 설정할 것인지 범위를 입력합니다. <c:param> 태그는 url 속성에 지정한 사이트에 연결할 때 파라미터 전송이 필요하다면 사용하는데요. 해당 사이트에 전송할 파라미터를 입력하면 해당 URL 을 불러올 때 파라미터를 던져서 불러오게 됩니다. 마찬가지로 필수는 아닙니다. 

 

JSTL 흐름제어태그 import 실습
대상이 될 페이지를 먼저 만들고 시작하겠습니다.
jsValue 라는 파일은 kan kyungmi 라는 이름을 가져올 대상입니다. 이번에는 읽는 역할을 하는 파일을 만들어보겠습니다.
우선 jstl 을 사용하기 위해서 지시자 코드를 마찬가지로 생성해주었구요. import 태그를 사용해서 가져오고 싶은 url, 담을 변수명, 변수 스코프를 지정해주었습니다. 실제로 값을 출력할 때는 body 태그 안에서 EL 을 사용해서 사용해 보았습니다. 실제 출력 화면을 보겠습니다. 
값이 잘 출력된 것을 확인할 수 있습니다. 참 재미있죠. 지정한 url 에서 값을 읽어들여서 나의 웹 사이트에서 표현할 수 있습니다. 이런 것을 활용하면 구글의 정보도 가져와서 표현할 수 있습니다. 
url 주소의 값을 구글 홈페이지로 바꾸어 주었더니 위와 같이 구글의 홈페이지를 가져온 것을 확인할 수 있습니다. 

 

 

 

 

출처 : boostcourse 웹 프로그래밍(풀스택) 
https://www.boostcourse.org/web316/lecture/20655?isDesc=false