FireDrago

[JSP] 액션태그 본문

프로그래밍/템플릿 엔진(thymeleaf, jsp)

[JSP] 액션태그

화이용 2023. 6. 14. 17:42

액션태그 

서버나 클라이언트에게 어떤 행동을 하도록 명령하는 태그를 말한다. 

JSP 페이지와 페이지 사이를 제어하거나, 자바 빈즈를 통한 객체관리등 다양한 기능을 제공한다.

 

<액션태그의 종류>

 

1. forward 액션태그

 현재 JSP 페이지에서 다른 페이지로 이동하는 태그이다. 

 

 page 속성값 : 현재 JSP에서 이동할 내용을 가진 외부 파일명 같은 디렉토리에 있으면 파일명만 아니면 전체 url 설정

2. include 액션태그 

 현재 JSP 페이지의 특정 영역에 외부 파일의 내용을 포함하는 태그이다.

 page 속성값 : 현재 JSP 내에 포함할 내용을 가진 외부 파일명

 flush 속성값 : 설정한 외부 파일로 제어가 이동할 때 현재 JSP 페이지가 지금까지 출력버퍼에 저장한 결과를 처리

 

 

3. param 액션태그

<jsp:forward> 나 <jsp:include> 태그의 내부에서 사용한다. 단독으로 사용될 수 없다.

다른 페이지로 이동하거나 가져올때 매개변수를 전달한다.

 

 

4. 자바빈즈

동적 컨텐츠 개발을 위해 자바 클래스로 로직을 작성하는 방법

 - 도메인 클래스 작성 - (java.io.Serializable 인터페이스를 구현)

package test;
import java.io.Serializable;

public class Person implements java.io.Serializable {
	private int id;
	private String name;
	
	Person() {}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
}

useBean 액션태그를 통해서 객체를 생성, 데이터 교환

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%@ page import="test.Person"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
	<jsp:useBean id="date" class="test.Person" />
	<%		
		/*Person p = new Person();*/
		date.setId(123);
		date.setName("이용화");
		out.print("Name : "+date.getName());
		out.print("Id : "+date.getId());
	%>
</body>
</html>