ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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

    댓글

Designed by Tistory.