위 글을 참고하여 배열리스트를 호출해보자!
- ArrayList 데이터를 전달
ArrayList sportList = new ArrayList();
sportList.add("축구");
sportList.add("야구");
sportList.add("농구");
sportList.add("배구");
sportList.add("족구");
request.setAttribute("sportsList", sportsList);
2.
${requestScope.sportsList }
➡️배열을 호출 할때와 같은 방법으로 호출하였는데 리스트 호출 시에는 대괄호가 생김
🌟EL 표현식 반복문 사용 불가 ➡️ JSTL 반복문 사용해서 해결🌟
어노테이션
web.xml 코드에서 매핑코드와 같은 결과를 갖는 코드
@WebServlet("/사용자지정URL")
클래스명 위에 써주면됨!
위에서 알아본 리스트 호출 예제를 풀어보자!
예제~
학생 한명의 정보 생성해서 전달
이름 : 땅콩이
나이 : 2
휴대폰 : 아이폰13미니, 010-1234-5678
./jstl_el/object.jsp 페이지에서 정보 전달받아 출력
package com.itwillbs.servlet;
import java.io.IOException;
import java.util.ArrayList;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
// @WebServlet("/사용자지정URL") -> "어노테이션"web.xml 코드에서 매핑한 효과(서블릿3.1 이후 사용가능)
@WebServlet("/test3")
public class TestServlet3 extends HttpServlet {
// <http://localhost:8088/JSP7/test3>
// alt shift s v
@Override
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
System.out.println("TestServlet3_doGet() 호출");
doPost(request, response);
}
@Override
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
System.out.println("TestServlet3_doPost() 호출");
/*
* 학생 한명의 정보 생성해서 전달
* 이름 : 땅콩이
* 나이 : 2
* 휴대폰 : 아이폰13미니, 010-1234-5678
* ./jstl_el/object.jsp 페이지에서 정보 전달받아 출력
*/
Phone iPhone = new Phone();
iPhone.setModel("아이폰13미니");
iPhone.setTel("010-1234-5678");
Person peanut = new Person();
peanut.setName("땅콩이");
peanut.setAge(2);
peanut.setPhone(iPhone);
request.setAttribute("peanut", peanut);
//-------------------------------
Phone iPhone2 = new Phone();
iPhone2.setModel("갤럭시S23");
iPhone2.setTel("010-2222-2222");
Person peanut2 = new Person();
peanut2.setName("땅콩22");
peanut2.setAge(30);
peanut2.setPhone(iPhone2);
// 두명의 정보를 ArrayList에 담아서 전달
ArrayList personList = new ArrayList();
personList.add(peanut);
personList.add(peanut2);
request.setAttribute("personList", personList);
RequestDispatcher dis = request.getRequestDispatcher("./jstl_el/object.jsp");
dis.forward(request, response);
}
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>object.jsp</title>
<!-- <http://localhost:8088/JSP7/test3> -->
</head>
<body>
<h1> object.jsp </h1>
${requestScope.peanut }<hr>
이름 : ${requestScope.peanut.name }<br>
나이 : ${peanut.age }<br>
휴대폰 모델명 : ${peanut.phone.model }<br>
전화번호 : ${peanut.phone.tel }<br>
<hr>
1번 사람의 이름 : ${requestScope.personList[0].name } <br>
2번 사람의 휴대폰 모델명 : ${requestScope.personList[1].phone.model } <br>
1번 사람의 전화번호 : ${personList[0].phone.tel }<br>
2번 사람의 나이 : ${personList[1].age }<br>
</body>
</html>
'JSP·Servlet' 카테고리의 다른 글
[JSP] JSTL core태그 ② <c:set> (1) | 2023.10.05 |
---|---|
[JSP] JSTL core태그 ① <c:out> (0) | 2023.10.04 |
[JSP] 업캐스팅/다운캐스팅 (0) | 2023.10.04 |
[JSP] el 표현식을 사용한 배열 호출 (0) | 2023.10.04 |
[JSP] 포워딩으로 서블릿 + JSP 연결하기 (0) | 2023.09.25 |