
XML형식 <jsp: .../> 로 사용 (액션태그는 반드시 /> 로 마무리 해여함)
<jsp: forward page ="파일명"/>
또는
<jsp: forward page ="파일명"> </jsp:forward>
현재 JSP 페이지에서 다른 페이지로 이동하는 태그
컨테이너는 현재 JSP 페이지에서 forward 액션태그 만날시
그 전까지 출력 버퍼에 저장되어 있던 내용 모두 삭제 + forward로 설정된 페이지로 프로그램 제어가 이동
page : 현재 jsp 페이지에서 이동할 페이지의 외부 파일명
액션 태그는 스크립트 태그를 이용하여 JSP 페이지에 직접 자바코드를 작성하는 것을 피하기 위해 사용 (유지보수를 효율적으로 하게 하기 위해)

<jsp: include page ="파일명" flush="false"/>
include 디렉티브 태그처럼 현재 JSP 페이지의 특정 영역에 외부 파일을 포함
flush를 true로 해버린다면 include 액션태그로 인해 제어가 이동시 액션태그를 읽기전 출력버퍼에 들어있던 헤더정보를 웹브라우저에 보내버리고 그렇게되면 제어가 이동한 파일에서 헤더정보를 수정할 수 없게된다.


<jsp:forward page ="파일명">
<jsp:param name="매개변수명1" value="변수 값1"/>
<jsp:param name="매개변수명2" value="변수 값2"/> ...
</jsp:forward>
현재 JSP 페이지에서 다른 페이지에 정보(파라미터)를 전달
<!-- 건네주는 파일-->
<jsp:include page ="받는 파일명">
<jsp:param name="count" value="3"/>
</jsp:include>
<!-- 받는 파일-->
<p> count is = <%=request.getParameter("count")%>
자바빈즈란 동적 콘텐츠 개발을 위해 자바 코드를 사용하여 자바 클래스로 로직을 작성하는 법

자바빈즈 작성시 규칙
1. 자바 클래스는 java.io.Serializable 인터페이스를 구현해야함
2. 인수가 없는 기본 생성자가 있어야 함
3. 모든 멤버 변수인 프로퍼티는 private 접근 지정자로 설정해야함
4. 모든 멤버 변수인 프로퍼티는 getter/setter( ) 메소드가 존재해야함
자바빈즈 작성 예시
package ch04.com.dao;
import java.io.Serializable;
public class Person implements java.io.Serializable { //serializable 인터페이스 구현
private int id = 201811111;
private String name = "홍길동";
//멤버변수 private로 정의
public Person() { //기본 생성자
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
//멤버변수 getter/ setter 정의
}
<jsp:useBean id = "자바빈즈 식별 이름" class = "자바빈즈 이름" scope = "범위" />
JSP 페이지에서 자바빈즈를 사용하기 위해 실제 자바 클래스를 선언하고 초기화 하는 태그

scope 속성값
<jsp:setProperty name="자바빈즈 식별 이름" property = "프로퍼티 이름" value = "값"/>
<!--이때 name 속성의 값은 useBean태그의 id 속성값-->
<!-- 즉 setProperty를 사용하려면 useBean액션 태그의 id 속성값이 설정되어있어야함 -->
<jsp:useBean id = "person" class="ch04.com.dao.Person" scope = "request"/>
<!-- ch04.com.dao.Person을 person이라는 식별자로 사용함-->
<jsp:setProperty name = "person" property = "id" value ="admin"/>
<!-- person의 id 프로퍼티를 admin으로 설정-->
useBean 액션 태그와 함계 자바빈즈 setter 메소드에 접근하여 자바빈즈의 프로퍼티의 값을 저장
폼 페이지로부터 전달되는 requset 파라미터의 값을 저장하거나 자바빈즈의 프로퍼티로 변경하여 값을 저장할 수 있음
모든 자바빈즈 프로퍼티 이름과 동일하게 request 파라미터를 설정할 수 있음

설정한 프로퍼티는
<% out.println("아이디 : " + person.getId()); %>
와 같이 out 내장객체를 사용하여 자바빈즈 getId 메소드로 출력 가능
<!-- form page-->
<form action = "process.jsp" method = "post">
<input name = "id" value = "admin">
</form>
<!-- proces.jsp page -->
<jsp:useBean name= "person" class = "ch04.com.dao.Person" scope = "page"/>
<jsp:setProerty name = "person" property = "id"/>
<!-- form page-->
<form action = "process.jsp" method = "post">
<input name = "userId" value = "admin">
</form>
<!-- proces.jsp page -->
<jsp:setProperty name = "person" property = "id" param ="userId"/>
<!-- form page-->
<form action = "process.jsp" method = "post">
<input name = "id" value = "admin">
<input name = "pw" value = "1234">
</form>
<!-- proces.jsp page -->
<jsp:setProperty name = "person" proerty = "*"/>
<jsp:getProperty id = "person" property = "id" />
프로퍼티의 값을 가져오는 태그
자바빈즈의 멤버변수(프로퍼티)에 저장된 값을 가져온다는 점에서 아래 두 코드는 동일하게 동작한다.
<jsp:getProperty id = "person" property = "name"/>
<% out.println(person.getName()); %>
<!-- forward -->
<jsp: forward page ="파일명"/>
<!-- include -->
<jsp: include page ="파일명" flush="false"/>
<!-- param -->
<!-- 건네주는 파일-->
<jsp:include page ="받는 파일명">
<jsp:param name="count" value="3"/>
</jsp:include>
<!-- 받는 파일-->
<p> count is = <%=request.getParameter("count")%>
<!-- useBean -->
<jsp:useBean id = "자바빈즈 식별 이름" class = "자바빈즈 이름" scope = "범위" />
<!-- setProperty -->
<jsp:useBean id = "person" class="ch04.com.dao.Person" scope = "request"/>
<!-- ch04.com.dao.Person을 person이라는 식별자로 사용함-->
<jsp:setProperty name = "person" property = "id" value ="admin"/>
<!-- person의 id 프로퍼티를 admin으로 설정-->
<!-- setProperty param태그 -->
<!-- form page-->
<form action = "process.jsp" method = "post">
<input name = "userId" value = "admin">
</form>
<!-- proces.jsp page -->
<jsp:setProperty name = "person" property = "id" param ="userId"/>
<!-- getProperty -->
<jsp:getProperty name = "person" property = "id" />