jsp:useBean 태그의 사용법이다.

빈을 사용하기 위해서는 먼저 class 를 변수에 할당해야한다.

방법은 다음과 같다.

<jsp:useBean id="hello" class="hello.HelloBean" scope="page" />

이렇게 하면 hello 변수에 객체를 생성에서 할당하게 된다. scope="page" 이므로

현재 페이지에서만 사용할 수 있는 것이다.

jsp:setProperty 태그도 유용하게 사용할 수 있다.

<jsp:useBean id="hello" class="hello.HelloBean" scope="page" />

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

jsp:setProperty 는 자바 빈에 속성 값을 할당하는데 name 속성에 기술된 이름에 해당하는 자바 빈

클래스는 jsp:useBean 을 이용해서 미리 정의해야 한다.

위와 같이 하면 해당되는 빈에서 모든 세터메소드를 호출하게 된다.

이 때 html 파일에서 폼 안에

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

<input type="text" name="email">

과 같은 태그가 있고

빈 클래스에 setName, setEmail 메소드가 정의되어 있다면

빈의 name 과 email 에는 각각 html 로부터 전달받은 데이터가 들어가게 된다.

결국 setProperty 태그는 빈의 값을 설정하게 되는 것이다.

 
- HelloBean.java -

package Hello;

public class HelloBean {
 private String name = null;
 private String email = null;
 
 public HelloBean() {
 
 }
 
 public void setName(String name) {
  this.name = name;
 }
 
 public String getName() {
  return name;
 }
 
 public void setEmail(String email) {
  this.email = email;
 }
 public String getEmail() {
  return email;
 }
 
}



- HelloBean.jsp -

<%@ page language="java" contentType="text/html; charset=KSC5601"
    pageEncoding="KSC5601"%>
<jsp:useBean id="time" class="java.util.Date" scope="page" />
<jsp:useBean id="hello" class="Hello.HelloBean" scope="page" />
<jsp:setProperty name="hello" property="*" />

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=KSC5601">
<title>useBead 테스트</title>
</head>
<body>
 <h3>useBean 테스트 </h3>
 Hello...

 이름 : <%= hello.getName() %><br>
 E-mail : <%= hello.getEmail() %>
 
 <hr>
 현재 시간 : <%= time.toLocaleString() %>
</body>
</html>


- beanTest.html -

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=KSC5601">
<title>Bean Test</title>
</head>
<body>
<form method="post" action="helloBean.jsp">
 이름 <input type="text" name="name"><br>
 이메일<input type="text" name="email"><br>
 <p>
 <input type="submit" value="전송" />
 <input type="reset" value="취소" />
</form>
</body>
</html>

Posted by 행복한 프로그래머 궁금쟁이박
TAG

댓글을 달아 주세요