-
[JSP]JSP 페이지 액션 태그JSP 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으로 넣어줘도 되고 *을 사용하여 전체를 넣어주어도 된다.
'JSP' 카테고리의 다른 글
[JSP]JSP 페이지 내장객체 (0) 2020.12.24 [JSP]JSP 페이지 스크립트 요소 (0) 2020.12.23 [JSP]JSP 페이지 디렉티브 (0) 2020.12.23