스크립트 태그
디렉티브 태그
액션 태그
=> JSP에서 기본적으로 제공해주는 태그들
<jsp useBean id="객체명"> - 객체명은 소문자로 시작
setProperty (속성, 필드를 셋팅 - 멤버변수를 세팅)
taglib의 core의 EL을 사용하면 getProperty를 사용하지 않아도 됨
data transfers object(dto)
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<!--
* setProperty 액션 태그
- useBean 액션 태그와 함께 사용됨
- 자바빈즈 Setter() 메소드에 접근하여 자바빈즈의 멤버 변수인 프로퍼티의 값을 저장
-->
<jsp:useBean id="person" class="ch04.com.dao.Person" scope="request"/>
<%
person.setId(20182005);
person.setName("손영흔");
%>
<jsp:setProperty name="person" property="id" value="20182005"/><!-- name - 어떤 객체인지 -->
<jsp:setProperty name="person" property="name" value="손영흔"/>
<p>아이디1 : ${person.id}</p>
<!-- EL, 객체가 있으면 객체의 필드를 다이렉트로 줄 수 있다. taglib가 있기때문에 사용가능-->
<p>이름1 : ${person.name}</p>
</body>
</html>
useBean 액션태그의 id 속성값(person)을 통해
자바빈즈 Person의 프로퍼티 id와 name에 값을 저장하고
자바빈즈 Person의 프로퍼티 id와 name에 값을 가져와 화면출력함
<jsp:getProperty name="객체명" property="멤버변수명">
getProperty01.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<title>Action Tag</title>
</head>
<body>
<!--
자바빈즈 Person의 프로퍼티(멤버변수) id와 name을 가져와 출력함
-->
<jsp:useBean id="person" class="ch04.com.dao.Person" />
<p>아이디 : ${person.id}</p>
<p>이름 : ${person.name}</p>
<p>아이디 : <jsp:getProperty name="person" property="id"/></p><!-- 멤버변수 가져오기 -->
<p>이름 : <jsp:getProperty name="person" property="name"/></p>
</body>
</html>
getProperty02.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<title>Action Tag</title>
</head>
<body>
<!--
useBean 액션태그의 id 속성값(person)을 통해
자바빈즈 Person의 프로퍼티 id와 name에 값을 저장하고
자바빈즈 Person의 프로퍼티 id와 name에 값을 가져와 화면출력함
-->
<jsp:useBean id="person" class="ch04.com.dao.Person"/>
<jsp:setProperty name="person" property="id" value="20182005"/>
<jsp:setProperty name="person" property="name" value="이선우"/>
<p>아이디 : <jsp:getProperty name="person" property="id" /></p>
<p>이 름 : <jsp:getProperty name="person" property="name" /></p>
</body>
</html>
자바 시스템 내부/외부 서로 객체 또는 데이터를 공유할 수 있도록
바이트(byte) 형태로 데이터를 변환하고 반대로 다시
바이트 형태의 데이터를 객체 또는 데이터로 변환(역직렬화)하는 기술
ProductRepository.jsp
package ch04.com.dao;
import java.util.ArrayList;
import java.util.List;
import dto.Product;
//자바빈즈로 사용할 상품 데이터 접근 클래스
public class ProductRepository {
private List<Product> listOfProducts = new ArrayList<Product>();
//생성자
public ProductRepository() {
Product phone = new Product("P1234", "iPhone 13s", 800000);
phone.setDescription("4,7-inch, 1334X750 Renina HD display");
phone.setCategory("Smart Phone");
phone.setManufacturer("Apple");
phone.setUnitsInStock(1000);
phone.setCondition("New");
Product notebook = new Product("P1235", "LG PC 그램", 1500000);
notebook.setDescription("13.3-inch, IPS LED display, 5th Generation");
notebook.setCategory("Notebook");
notebook.setManufacturer("LG");
notebook.setUnitsInStock(1000);
notebook.setCondition("Refurbished");
Product tablet = new Product("P1236", "Galaxy Tab S", 900000);
tablet.setDescription("212.8*125.6*6.6mm, Super AMOLED display");
tablet.setCategory("Tablet");
tablet.setManufacturer("Samsung");
tablet.setUnitsInStock(1000);
tablet.setCondition("Old");
//List<Product> 객체 타입의 변수에 저장
listOfProducts.add(phone);
listOfProducts.add(notebook);
listOfProducts.add(tablet);
}//end constructor
//객체 타입의 변수 listOfProducts에 저장된 모든 상품 목록을 가져옴
public List<Product> getAllProducts(){
return listOfProducts;
}
}
1) forward: 페이지 흐름 제어
2) include: 외부 페이지 포함
3) useBean: 자바빈즈 설정
4) setProperty: 자바빈즈의 프로퍼티(멤버변수) 값 설정
5) getProperty: 자바빈즈의 프로퍼티(멤버변수) 값 가져옴
6) param: forward, include, plugin 태그에 파라미터 추가
문제1. forward 액션 태그를 이용하여 처리해보자
1) forward02.jsp 파일 생성
2) forward02_data.jsp 파일 생성
문제2. 다음 조건에 맞게 개발해보자
1) src 폴더에 ch04.com.dao 패키지로 GuGuDan 클래스를 생성하여 곱셈을 계산하는 process()메소드 작성
2) useBean.jsp 파일 생성