본문 바로가기

JSP

JSP 액션태그 ( <jsp:useBean> )

# jsp에서 자바빈즈를 이용하는방법 두가지

     1. 자바코드로 객체생성( 단순 자바객체생성법 )

     2. jsp액션태그 이용하는방법

 

 

# 액션태그란?

     jsp페이지에서 특별한 기능을 위해 정의된 xml형태의 태그

 

 

# <jsp:useBean> 액션태그

<jsp:useBean>액션태그를 사용하므로서 객체생성을 할수있다

4개영역중 지정한 영역에 저장가능

이미 영역에 객체가 존재하고있는 경우 그 객체를 그대로 사용( 없으면 새로객체생성 )

# 사용법 

   <jsp:useBean id="빈이름(객체이름)" class="자바빈클래스이름" scope="범위" />

                         

먼저 자바를 배웠으므로 자바로 객체 생성을 해보자.

1. 자바코드로 객체생성하는방법

<%@ page language="java" contentType="text/html; charset=EUC-KR"

    pageEncoding="EUC-KR"%>

<%@ page import="com.joo.Member" %>

<%

Member member=new Member();

member.setId("aa");

member.setPw("bb");

member.setAddr("cc");

member.setTel("dd");

request.setAttribute("member",member);

%>

 

위 자바코드를 이제 JSP태그로 바꿀것임

 

2. <jsp:useBean>액션태그를 사용해서 객체생성하는방법

a.jsp   (  setProperty )

======

<%@ page language="java" contentType="text/html; charset=EUC-KR"

    pageEncoding="EUC-KR"%>

<%@ page import="com.joo.Member" %>



<jsp:useBean id="member" class="com.joo.Member" scope="session" />

<jsp:setProperty name="member" property="id" value="aa" />

<jsp:setProperty name="member" property="pw" value="bb" />

<jsp:setProperty name="member" property="addr" value="cc" />

<jsp:setProperty name="member" property="tel" value="dd" />

 

scope는 영역이므로 유도리있게 4개 영역중 선택하면됨

 

 

즉, 위 두가지방법중 맘에드는거 사용할것

 

가져오려면

 

b.jsp  (  getProperty )

========

<%@ page language="java" contentType="text/html; charset=EUC-KR"

    pageEncoding="EUC-KR"%>

<%@ page import="com.joo.Member" %>



<jsp:useBean id="member" class="com.joo.Member" scope="session" />

<jsp:getProperty name="member" property="id" /><br>

<!-- 출력이됨 -->

<jsp:getProperty name="member" property="pw" /><br>

<jsp:getProperty name="member" property="addr" /><br>

<jsp:getProperty name="member" property="tel" />

 

위 예제에서 scope를 session으로해서 a.jsp에서 생성된 프로퍼티를 b.jsp에서 읽을수있음

만약 request나 page로 하면 읽을수 없음 

request는 jsp:forward를 통해 request값을 유지하므로써 b.jsp에서 읽을수는있음

 

 

 

 

# 편리하게 사용하려면 이렇게 하는게 편함!!

c.jsp를 실행하여 값을 생성후 a.jsp를 통해 값을 세팅하고 c.jsp로 foward후 값을 유지하여 출력하는 예제이다.

 

a.jsp ( 값 세팅 )

====== 

<%@ page language="java" contentType="text/html; charset=EUC-KR"

    pageEncoding="EUC-KR"%>

<%@ page import="com.joo.Member" %>



     <jsp:useBean id="member" class="com.joo.Member" scope="session" />

     <jsp:setProperty name="member" property="*" />  

  

사실 이게 핵심... 4개 값을 일일이 다 지정하지않고 이런식으로 세팅할수있다( value안줌! )

 

b.jsp ( 값 출력 )

==========

<%@ page language="java" contentType="text/html; charset=EUC-KR"

    pageEncoding="EUC-KR"%>

<%@ page import="com.joo.Member" %>



<jsp:useBean id="member" class="com.joo.Member" scope="session" />

<jsp:getProperty name="member" property="id" /><br>

<jsp:getProperty name="member" property="pw" /><br>

<jsp:getProperty name="member" property="addr" /><br>

<jsp:getProperty name="member" property="tel" />

 

 

c.jsp ( 값 생성 )

==========

<%@ page language="java" contentType="text/html; charset=EUC-KR"

    pageEncoding="EUC-KR"%>

<%@ page import="com.joo.Member" %>


<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">


</head>

<body>

	<form action="a.jsp">

		<input type="text" name="id"><br>

		<input type="text" name="pw"><br>

		<input type="text" name="addr"><br>

		<input type="text" name="tel"><br>

		<input type="submit">

	</form>

</body>

</html>

 

property값와 member의 값과 대소문자까지 똑같아야함

이 예제에서 영역을 request로 하면 어차피 a.jsp가 b.jsp로 request유지가안되므로

 a.jsp에서 jsp:forward로 하여 request값을 유지할수있다

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'JSP' 카테고리의 다른 글

(부록) java.lang.reflect  (0) 2019.03.28
서블릿에서의 화면 이동  (0) 2019.03.27
JSP 에러 페이지 설정  (0) 2019.03.27
JSP 경로 / 파일관련  (0) 2019.03.09
include지시자 / 쿠키  (0) 2019.03.09