JSP
[JSP]JSP 페이지 액션 태그
bangle0621
2020. 12. 28. 18:04
| 액션태그 명 | 액션 태그 | 설명 |
| include | <jsp:include> | 다른 페이지의 실행 결과를 현재의 페이지에 포함시킬 때 사용 |
| forward | <jsp:forward> | 페이지 사이의 제어를 이동시킬 때 사용 |
| plug-in | <jsp:plug-in> | 웹 브라우저에서 자바 애플릿을 실행시킬 때 사용 |
| useBean | <jsp:useBean> | Java Bean을 JSP 페이지에서 사용할 때 사용 |
| setProperty | <jsp:setProperty> | 프로퍼티의 값을 세팅할 때 사용 |
| getProperty | <jsp:getProperty> | 프로퍼티의 값을 얻어낼 때 사용 |
include
Main.jsp
<!DOCTYPE html>
<html>
<body>
<center>
<table width="800" border="1">
<!-- Top -->
<tr height="150">
<td align="center" colspan="2">
<jsp:include page="Top.jsp">
<jsp:param value="aaa" name="id"/>
</jsp:include>
</td>
</tr>
<!-- Left -->
<tr height="400">
<td align="center" width="200">
<jsp:include page="Left.jsp"/>
</td>
<!-- Center -->
<td align="center" width="600">
<jsp:include page="Center.jsp"/>
</td>
</tr>
<!-- Bottom -->
<tr height="100">
<td align="center" colspan="2">
<jsp:include page="Bottom.jsp"/>
</td>
</tr>
</table>
</center>
</body>
</html>
Top.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<!-- Top -->
<table width="800">
<tr height="100">
<!-- 로고이미지 -->
<td colspan="2" align="center" width="260">
<img alt="" src="img/Camping.png" width="200" height="70">
</td>
<td colspan="5" align="center">
<font size="10">낭만 캠핑</font>
</td>
</tr>
<tr height="50">
<td width="114" align="center">텐트</td>
<td width="114" align="center">의자</td>
<td width="114" align="center">식기류</td>
<td width="114" align="center">침낭</td>
<td width="114" align="center">테이블</td>
<td width="114" align="center">화롯대</td>
<td width="116" align="center"><%=request.getParameter("id") %></td>
</table>
</body>
</html>
<jsp:include page="---.jsp"></jsp:include>
해당 명령어를 통하여 페이지를 가져올 수 있다.
*해당페이지로 정보를 담아서 보낼때(Main.jsp)
<jsp:include page="Top.jsp">
<jsp:param value="aaa" name="id"/>
</jsp:include>
정보 온것을 받을 때 (Top.jsp)
<td width="116" align="center"><%=request.getParameter("id") %></td>
forward
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<body>
<h2>이 페이지는 로그인 정보가 넘어오는 페이지 입니다.</h2>
<%
request.setCharacterEncoding("euc-kr"); //한글처리
String id = request.getParameter("id"); //request 객체에 담겨진 사용자 정보 중 id 만 추출
//response.sendRedirect("RespondeRedirect.jsp"); //흐름제어. 해당 페이지로 넘어가고 데이터는 사라짐. 이 밑에거는 실행 안됨!
%>
<jsp:forward page="RespondeRedirect.jsp"/>
<h3> id 는 <%=id %></h3>
</body>
</html>
response.sendRedirect("RespondeRedirect.jsp")
위의 것은 데이터를 담아서 보내지 않는 이상 보내는 페이지에 정보를 담아서 보내지 않는다
<jsp:forward page="RespondeRedirect.jsp">
<jsp:param value="" name="id"/> <!-- 값을 임의적으로 변경하거나 지정해놓고 싶을 때 사용한다 -->
</jsp:forward>
forward 는 다음 페이지에 정보를 담아서 보낼수 있고, 원하는 값이 있다면 param 에 담아서 보낼수도 있다.
useBean
Javabean 이란
여러개의 데이터들을 하나의 class에 저장시켜놓고 사용하는 것
*서로 다른 곳에 있는 class 를 호출하기 위해선 package 안에 만들어야 한다.

package bean;
public class MemberBean {
//MemberJoin 에서 사용했던 name 들과 일치시켜야 한다.
private String id;
private String pass1;
private String email;
private String tel;
private String address;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPass1() {
return pass1;
}
public void setPass1(String pass1) {
this.pass1 = pass1;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}

MemberJoin 에서 사용했던 name 들과 일치시켜야 한다.
<jsp:getProperty>,<jsp:setProperty>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<body>
<center>
<h2>회원 정보 보기</h2>
<!-- request로 넘어온 데이터를 자바 빈즈랑 맵핑 시켜주는 useBean -->
<!-- id에는 멤버변수 -->
<jsp:useBean id="mbean" class="bean.MemberBean">
<!-- jsp 내용을 자바빈 클래스(MemberBean의미)에 데이터를 맵핑(넣어줌) -->
<jsp:setProperty name="mbean" property="*" /><!-- 자동으로 모두 맵핑시켜 주시오 -->
</jsp:useBean><!-- 객체생성과 동일 MemberBean mbean = new MemberBean() -->
<h2>당신의 아이디는 <jsp:getProperty property="id" name="mbean"/> </h2>
<h2>당신의 비밀번호는 <jsp:getProperty property="pass1" name="mbean"/> </h2>
<h2>당신의 이메일는 <jsp:getProperty property="email" name="mbean"/> </h2>
<h2>당신의 전화는
<%=mbean.getTel() %></h2>
<!-- 이미 객체 생성을 해서 넣어주었기 때문에 가능하다 -->
</center>
</body>
</html>

이렇게 하나하나씩 set으로 넣어줘도 되고 *을 사용하여 전체를 넣어주어도 된다.
