-
21. 표현 언어(EL)개발자 수업/JSP 2021. 12. 15. 00:40
1. 표현 언어(Expression Language)
1) 변수의 값을 출력할 때 사용하는 스크립트 언어. 데이터 출력 기능
2) 표현식 (<%= %>) --> ${표현식 or 값}
3) 자바 코드가 들어가는 표현식을 좀 더 편리하게 사용하기 위함
2. EL 특징
1) 변수, 연산자 포함할 수 있음
- 자료형 : 불린, 정수, 실수, 문자열, 널(null)
- 할당 연산자
- 산술 연산자
/ or div
% or mod
- 비교 연산자
== or eq
!= or ne
< or lt
> or gt
<= or le
>= or ge
- 논리 연산자
- empty 연산자
2) JSP 내장 객체에 저장된 속성 및 자바빈 속성도 EL 출력 가능
3) 내장 객체도 제공됨
3. EL의 내장 객체
1) 4가지 영역(scope)에 속성 값 저장, 읽어오기
- 스코프
- pageScope : page 영역에 저장된 속성 값을 읽어올 수 있음
(page 영역에 바인딩된 객체를 참조함)
- requestScope : request 영역에 저장된 속성 값을 읽어올 수 있음
- sessionScope : session 영역에 저장된 속성 값을 읽어올 수 있음
- applicationScope : application 영역에 저장된 속성 값을 읽어올 수 있음
2) 요청 매개변수
- param : request.getParameter() 메서드 호출과 같음. 한 개의 값을 전달하는 요청 매개변수 처리함
- paramValues : request.getParameterValues() 메서드 호출과 같음. 여러 개의 값을 전달하는 요청 매개변수 처리함
3) 헤더 값
- header : request.getHeader()
- headerValues :
4) 쿠키 값
- Cookies
5) JSP 내용
- pageContext
6) 초기 매개변수
- initParam
4. 빈 속성 접근 방법
1) ${빈이름. 속성이름 }
5. Collection 객체 접근 형식(방법)
1) ${Collection 객체이름[index].속성이름}
6. HashMap에 저장된 객체 접근 방법
1) ${Hash객체이름.키이름}
7. has-a 관계 빈 속성 접근 방법
1) ${부모빈이름.자식속성이름.속성이름}
8. 내장 객체 속성 값 출력
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>표현 언어에서 사용되는 데이터들 출력</title> </head> <body> <h1>표현 언어로 여러가지 데이터 출력</h1> <h1> ${100 }<br> ${"좋은 아침입니다." }<br> ${10 + 1 }<br> ${"10" +1 }<br> <!-- 숫자형 문자열과 실제 문자를 더하면 문자열이 자동으로 숫자로 변환 --> ${null + 10}<br> <%-- ${"좋은아침" + 11 }<br> --%> <!-- 문자열과 숫자는 더할 수 없음 --> <%-- ${"Hello" + "World" }<br> --%> <!-- 문자열끼리 더할 수 없음 --> </h1> </body> </html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>표현 언어의 여러가지 연산자들</title> </head> <body> <h2>여러가지 산술 연산자</h2> <h1> ${100/9 }<br> ${100 div 9 }<br> <!-- div를 사용해 나누기 연산을 함 --> ${100 % 9 }<br> ${100 mod 9 }<br> <!-- mod를 사용해 나머지를 구함 --> </h1> <br> <h2>여러가지 비교 연산자</h2> <h3> ${10 == 10 }<br> ${10 eq 10 }<br> ${"Seoul" == "Seoul" }<br> <!-- 문자열이 서로 같은지 비교 --> ${"Seoul" eq "Seoul" }<br> </h3> </body> </html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <% pageContext.setAttribute("pScopeValue", "페이지 영역"); request.setAttribute("rScopeValue", "리퀘스트 영역"); session.setAttribute("sScopeValue", "세션 영역"); application.setAttribute("aScopeValue", "어플리케이션 영역"); %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>표현언어(EL) - 내장 객체</title> </head> <body> <h3>각 영역에 저장된 속성 읽기</h3> <ul> <li>페이지 영역 : ${pageScope.pScopeValue }</li> <li>리퀘스트 영역 : ${requestScope.rScopeValue }</li> <li>세션 영역 : ${sessionScope.sScopeValue }</li> <li>어플리케이션 영역 : ${applicationScope.aScopeValue }</li> </ul> </body> </html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% int num1 = 3; pageContext.setAttribute("num2", 4); pageContext.setAttribute("num3", "5"); pageContext.setAttribute("num4", "8"); %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>표현 언어(EL) - 연산자</title> </head> <body> <h3>변수 선언 값 확인 및 할당</h3> 스크립트릿에서 선언한 변수 : ${num1 }<br> page 영역에서 저장된 변수 : ${num2 }<br> 변수 할당 및 바로 출력 : ${num1 = 7 }<br> 변수 할당 및 별도 출력 : ${num2 = 8;'' }<br> 별도 출력 : ${num2 }<br> <h3>산술 연산자</h3> num3 div num4 : ${num3 div num4 }<br> num3 mod num4 : ${num3 mod num4 }<br> <h3>비교 연산자</h3> num4 > num3 : ${num4 gt num3 }<br> num1 < num3 : ${num1 lt num3 }<br> num2 >= num4 : ${num2 ge num4 }<br> ${"hello" != "apple" }<br> ${"hello" ne "apple" }<br> </body> </html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>표현언어 여러 연산자들</title> </head> <body> <h1>여러가지 논리 연산자</h1> <h2> ${(10==10) && (20==20) }<br> ${(10==10) and (20!=20) }<br><br> ${(10==10) || (20==30) }<br> ${(10!=10) or (20!=20) }<br><br> ${!(20==10) }<br> ${not(20==10) }<br> </h2> </body> </html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <jsp:useBean id="m1" class="kr.co.ezenac.el.MemberBean" scope="page" /> <!-- 유즈빈 생성 --> <jsp:setProperty property="name" value="이순신" name="m1"/> <!-- 빈의 name 속성에 값을 설정함 --> <jsp:useBean id="m2" class="java.util.ArrayList" scope="page"/> <!-- ArrayList 객체를 빈으로 생성 --> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>표현언어 여러 연산자들</title> </head> <body> empty 연산자 <h2> ${empty m1 }<br> <!-- m1의 name 속성에 값이 설정되어 있으므로 false 반환함 --> ${not empty m1 }<br><br> ${empty m2 }<br> <!-- ArrayList 객체인 m2는 비어있음 --> ${not empty m2 }<br><br> ${empty "Hello" }<br> ${empty null }<br> <!-- null은 true반환 --> ${empty "" }<br><br> </h2> </body> </html>
import java.sql.Date; public class MemberBean { private String id; private String pwd; private String name; private String email; private Date joinDate; public MemberBean() { // TODO Auto-generated constructor stub } public MemberBean(String id, String pwd, String name, String email) { //super(); this.id = id; this.pwd = pwd; this.name = name; this.email = email; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public Date getJoinDate() { return joinDate; } public void setJoinDate(Date joinDate) { this.joinDate = joinDate; } }
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>회원 가입창</title> </head> <body> <form action="member1.jsp"> <h1 style="text-align: center;">회원 가입창</h1> <table align="center"> <tr> <td width="200"> <p align="right">아이디</p> </td> <td width="400"> <input type="text" name="id"> </td> </tr> <tr> <td width="200"> <p align="right">비밀번호</p> </td> <td width="400"> <input type="password" name="pwd"> </td> </tr> <tr> <td width="200"> <p align="right">이름</p> </td> <td width="400"> <input type="text" name="name"> </td> </tr> <tr> <td width="200"> <p align="right">이메일</p> </td> <td width="400"> <input type="text" name="email"> </td> </tr> <tr> <td width="200"> <p align="right"> </p> </td> <td width="400"> <input type="submit" value="가입하기"> <input type="reset" value="다시입력"> </td> </tr> </table> </form> </body> </html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% request.setCharacterEncoding("utf-8"); /* 표현식으로 출력하기 위해 getParameter() 이용 */ String id = request.getParameter("id"); String pwd = request.getParameter("pwd"); String name = request.getParameter("name"); String email = request.getParameter("email"); %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>회원 정보 출력</title> </head> <body> <table border="1" align="center"> <tr align="center" bgcolor="#99ccff"> <td width="20%"><b>아이디</b></td> <td width="20%"><b>비밀번호</b></td> <td width="20%"><b>이름</b></td> <td width="20%"><b>이메일</b></td> </tr> <tr align="center"> <td><%=id %></td> <!-- getParameter()로 가져온 회원 정보를 표현식으로 출력 --> <td><%=pwd %></td> <td><%=name %></td> <td><%=email %></td> </tr> <tr align="center"> <td>${param.id }</td> <!-- param 객체를 이용해 getParameter() 이용하지 않고 출력 --> <td>${param.pwd }</td> <td>${param.name }</td> <td>${param.email }</td> </tr> </table> </body> </html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>로그인</title> </head> <body> <form action="result.jsp"> 아이디 : <input type="text" size="20"><br> 비밀번호 : <input type="password" size="20"><br> <input type="submit" value="로그인"> <input type="reset" value="다시입력"><br><br> <!-- 직접 컨텍스트 이름을 입력해 요청함 --> <a href="http://localhost:8080/chap14_EL/ELTest02/memberForm.jsp">회원 가입하기</a><br> <!-- request의 getContextPath() 이용해 컨텍스트 이름을 가져옴 --> <a href="<%=request.getContextPath() %>/ELTest02/memberForm.jsp">회원 가입하기</a><br> <!-- 자바 코드 상용하지 않고 pageContext의 속성인 request의 contextPath 속성으로 컨텍스트 이름을 가져옴--> <a href="${pageContext.request.contextPath}/ELTest02/memberForm.jsp">회원 가입하기</a> </form> </body> </html>
memberForm.jsp에서 form action="member(n).jsp" 숫자만 바꿔가며 응용
<member2.jsp>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>회원 정보 출력</title> </head> <body> <table border="1" align="center"> <tr align="center" bgcolor="#99ccff"> <td width="20%"><b>아이디</b></td> <td width="20%"><b>비밀번호</b></td> <td width="20%"><b>이름</b></td> <td width="20%"><b>이메일</b></td> <td width="20%"><b>주소</b></td> </tr> <tr align="center"> <td>${param.id }</td> <!-- param 객체를 이용해 getParameter() 이용하지 않고 출력 --> <td>${param.pwd }</td> <td>${param.name }</td> <td>${param.email }</td> <td>${requestScope.address }</td> <!-- requestScope 이용해 바인딩된 주소 정보 출력 --> </tr> </table> </body> </html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% request.setCharacterEncoding("utf-8"); request.setAttribute("address", "서울시 서초구"); /* 회원 가입창의 request에 대해 주소정보 바인딩 */ %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Insert title here</title> </head> <body> <jsp:forward page="member2.jsp"></jsp:forward> <!-- member2.jsp로 포워딩함 --> </body> </html>
<member3.jsp>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% request.setCharacterEncoding("utf-8"); %> <jsp:useBean id="m" class="kr.co.ezenac.el.MemberBean"/> <!-- 회원 정보 저장할 빈 생성함 --> <jsp:setProperty property="*" name="m"/> <!-- 전송된 회원 정보를 빈의 속성에 설정 --> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>회원 정보 출력</title> </head> <body> <table border="1" align="center"> <tr align="center" bgcolor="#99ccff"> <td width="20%"><b>아이디</b></td> <td width="20%"><b>비밀번호</b></td> <td width="20%"><b>이름</b></td> <td width="20%"><b>이메일</b></td> </tr> <tr align="center"> <td><%=m.getId()%></td> <!-- 표현식 이용해 회원 정보 출력 --> <td><%=m.getPwd() %></td> <td><%=m.getName() %></td> <td><%=m.getEmail() %></td> </tr> <tr align="center"> <td>${m.id }</td> <!-- 빈 id와 속성 이름으로 접근해 회원 정보 출력 --> <td>${m.pwd }</td> <td>${m.name }</td> <td>${m.email }</td> </tr> </table> </body> </html>
<member4.jsp>
<%@page import="kr.co.ezenac.el.MemberBean"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% request.setCharacterEncoding("utf-8"); %> <jsp:useBean id="m1" class="kr.co.ezenac.el.MemberBean"/> <!-- 회원 정보 저장할 빈 생성함 --> <jsp:setProperty property="*" name="m1"/> <!-- 전송된 회원 정보를 빈의 속성에 설정 --> <jsp:useBean id="membersList" class="java.util.ArrayList"/> <% MemberBean m2 = new MemberBean("ezenac", "0311", "이젠", "ezenac@gmail.com"); membersList.add(m1); membersList.add(m2); /* 두 개의 MemberBean 객체를 ArrayList에 저장함 */ %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>회원 정보 출력</title> </head> <body> <table border="1" align="center"> <tr align="center" bgcolor="#99ccff"> <td width="20%"><b>아이디</b></td> <td width="20%"><b>비밀번호</b></td> <td width="20%"><b>이름</b></td> <td width="20%"><b>이메일</b></td> </tr> <tr align="center"> <td>${membersList[0].id }</td> <td>${membersList[0].pwd }</td> <td>${membersList[0].name }</td> <td>${membersList[0].email }</td> </tr> <tr align="center"> <td>${membersList[1].id }</td> <td>${membersList[1].pwd }</td> <td>${membersList[1].name }</td> <td>${membersList[1].email }</td> </tr> </table> </body> </html>
<member5.jsp>
<%@page import="kr.co.ezenac.el.MemberBean"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% request.setCharacterEncoding("utf-8"); %> <jsp:useBean id="m1" class="kr.co.ezenac.el.MemberBean"/> <!-- 회원 정보 저장할 빈 생성함 --> <jsp:setProperty property="*" name="m1"/> <!-- 전송된 회원 정보를 빈의 속성에 설정 --> <jsp:useBean id="membersList" class="java.util.ArrayList"/> <!-- MemberBean 객체를 저장할 ArrayList 객체 생성 --> <jsp:useBean id="memberMap" class="java.util.HashMap"/> <!-- 회원 정보 저장할 HashMap 객체 --> <% memberMap.put("id", "ezenac100"); memberMap.put("pwd", "0311"); memberMap.put("name", "이젠100"); /* HashMap에 key/value 쌍으로 회원 정보 저장함 */ memberMap.put("email", "ezenac100@gmail.com"); /* 회원 정보를 저장하는 MemberBean 객체 생성 */ MemberBean m2 = new MemberBean("ezenac200", "0311", "이젠200", "ezen200@gmail.com"); //전송된 회원 정보와 자바코드로 생성한 회원 정ㅈ보를 ArrayList에 저장함 membersList.add(m1); membersList.add(m2); //회원 정보가 저장된 membersList를 membersList라는 key로 HashMap에 저장함 memberMap.put("membersList", membersList); %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>회원 정보 출력</title> </head> <body> <table border="1" align="center"> <tr align="center" bgcolor="#99ccff"> <td width="20%"><b>아이디</b></td> <td width="20%"><b>비밀번호</b></td> <td width="20%"><b>이름</b></td> <td width="20%"><b>이메일</b></td> </tr> <tr align="center"> <!-- HashMap 이름 뒤에 .(마침표) 연산자로 저장시 사용한 Key를 사용하여 Value 가져옴 --> <td>${memberMap.id }</td> <td>${memberMap.pwd }</td> <td>${memberMap.name }</td> <td>${memberMap.email }</td> </tr> <tr align="center"> <!-- HashMap 저장된 ArrayList에 .로 접근한 후 다시 각각의 속성을 .이용해 접근 --> <td>${memberMap.membersList[0].id }</td> <td>${memberMap.membersList[0].pwd }</td> <td>${memberMap.membersList[0].name }</td> <td>${memberMap.membersList[0].email }</td> </tr> <tr align="center"> <td>${memberMap.membersList[1].id }</td> <td>${memberMap.membersList[1].pwd }</td> <td>${memberMap.membersList[1].name }</td> <td>${memberMap.membersList[1].email }</td> </tr> </table> </body> </html>
import java.sql.Date; public class MemberBean { private String id; private String pwd; private String name; private String email; private Date joinDate; private Address addr; //주소 정보 저장하는 Address 클래스 타입의 속성 선언 public MemberBean() { // TODO Auto-generated constructor stub } public MemberBean(String id, String pwd, String name, String email) { //super(); this.id = id; this.pwd = pwd; this.name = name; this.email = email; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public Date getJoinDate() { return joinDate; } public void setJoinDate(Date joinDate) { this.joinDate = joinDate; } public Address getAddr() { return addr; } public void setAddr(Address addr) { this.addr = addr; } }
public class Address { private String city; private String zipcode; public Address() { // TODO Auto-generated constructor stub } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getZipcode() { return zipcode; } public void setZipcode(String zipcode) { this.zipcode = zipcode; } }
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% request.setCharacterEncoding("utf-8"); %> <jsp:useBean id="m" class="kr.co.ezenac.el02.MemberBean"/> <jsp:setProperty property="*" name="m"/> <jsp:useBean id="addr" class="kr.co.ezenac.el02.Address"/> <jsp:setProperty property="city" value="서울" name="addr"/> <jsp:setProperty property="zipcode" value="08080" name="addr"/> <% m.setAddr(addr); //MemberBean의 addr 속성에 Address 빈을 설정함 %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>회원 정보 출력</title> </head> <body> <table border="1" align="center"> <tr align="center" bgcolor="#99ccff"> <td width="7%"><b>아이디</b></td> <td width="7%"><b>비밀번호</b></td> <td width="5%"><b>이름</b></td> <td width="5%"><b>이메일</b></td> <td width="5%"><b>도시</b></td> <td width="5%"><b>우편번호</b></td> </tr> <tr align="center"> <td>${m.id }</td> <!-- 자바 빈의 속성 이름과 자식 속성 이름.속성이름으로 가져옴 --> <td>${m.pwd }</td> <td>${m.name }</td> <td>${m.email }</td> <td>${m.addr.city }</td> <td>${m.addr.zipcode }</td> </tr> </table> </body> </html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% request.setCharacterEncoding("utf-8"); request.setAttribute("id", "ezen300"); /* request 내장 객체에 바인딩함 */ request.setAttribute("pwd", "0311"); session.setAttribute("name", "이순신"); /* session 내장 객체에 바인딩함 */ application.setAttribute("email", "ezen300@gmail.com"); /* application 내장 객체에 바인딩함 */ %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>forward1</title> </head> <body> <jsp:forward page="member1.jsp"/> <!-- member1.jsp로 포워딩함 --> </body> </html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% request.setCharacterEncoding("utf-8"); String id = (String)request.getAttribute("id"); /* 각 내장 객체 바인딩된 속성 값들을 getAttribute() 이용해 가져옴 */ String pwd = (String)request.getAttribute("pwd"); String name = (String)session.getAttribute("name"); String email = (String)application.getAttribute("email"); %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>회원 정보 출력</title> </head> <body> <table border="1" align="center"> <tr align="center" bgcolor="#99ccff"> <td width="7%"><b>아이디</b></td> <td width="7%"><b>비밀번호</b></td> <td width="5%"><b>이름</b></td> <td width="5%"><b>이메일</b></td> </tr> <tr align="center"> <td>${id }</td> <!-- 자바 코드 없이 바로 바인딩된 속성 이름으로 회원 정보 출력 --> <td>${pwd }</td> <td>${name }</td> <td>${email }</td> </tr> </table> </body> </html>
<%@page import="kr.co.ezenac.el.MemberBean"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% request.setCharacterEncoding("utf-8"); MemberBean member = new MemberBean("ezen400", "0311", "이순신", "ezen400@gmail.com"); request.setAttribute("member", member); /* 속성이름 member로 MemberBean객체를 바인딩함 */ %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>forward1</title> </head> <body> <jsp:forward page="member2.jsp"/> <!-- member2.jsp로 포워딩함 --> </body> </html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>회원 정보 출력</title> </head> <body> <table border="1" align="center"> <tr align="center" bgcolor="#99ccff"> <td width="20%"><b>아이디</b></td> <td width="20%"><b>비밀번호</b></td> <td width="20%"><b>이름</b></td> <td width="20%"><b>이메일</b></td> </tr> <tr align="center"> <td>${member.id }</td> <!-- 바인딩시 속성 이름으로 각각의 MemberBean 속성에 접근하여 회원 정보 출력 --> <td>${member.pwd }</td> <td>${member.name }</td> <td>${member.email }</td> </tr> </table> </body> </html>
<%@page import="java.util.ArrayList"%> <%@page import="java.util.List"%> <%@page import="kr.co.ezenac.el.MemberBean"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% request.setCharacterEncoding("utf-8"); List<MemberBean> membersList = new ArrayList<>(); /* ArrayList 객체 생성 */ //MemberBean 객체를 생성한 후 회원 정보 저장 MemberBean m1 = new MemberBean("ezen500", "0311", "이순신", "ezen500@gmail.com"); MemberBean m2 = new MemberBean("ezen600", "0311", "이도", "ezen600@gmail.com"); membersList.add(m1); //두 개의 MemberBean 객체를 ArrayList에 저장 membersList.add(m2); //request 내장 객체에 ArrayList를 속성 이름 membersList로 바인딩함 request.setAttribute("membersList", membersList); /* 속성이름 member로 MemberBean객체를 바인딩함 */ %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>forward1</title> </head> <body> <jsp:forward page="member3.jsp"/> <!-- member3.jsp로 포워딩함 --> </body> </html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% request.setCharacterEncoding("utf-8"); %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>회원 정보 출력</title> </head> <body> <table border="1" align="center"> <tr align="center" bgcolor="#99ccff"> <td width="20%"><b>아이디</b></td> <td width="20%"><b>비밀번호</b></td> <td width="20%"><b>이름</b></td> <td width="20%"><b>이메일</b></td> </tr> <tr align="center"> <td>${membersList[0].id }</td> <td>${membersList[0].pwd }</td> <td>${membersList[0].name }</td> <td>${membersList[0].email }</td> </tr> <tr align="center"> <td>${membersList[1].id }</td> <td>${membersList[1].pwd }</td> <td>${membersList[1].name }</td> <td>${membersList[1].email }</td> </tr> </table> </body> </html>
'개발자 수업 > JSP' 카테고리의 다른 글
23. 파일 업로드 다운로드 (0) 2021.12.16 22. JSTL (0) 2021.12.15 20. 게시판 만들기(모델1) 업로드 예정 (0) 2021.12.15 19. 액션태그 (0) 2021.12.09 17. Cookie (0) 2021.12.08