자바빈을 호출해서 사용하기 위해 액션태그 중 <jsp:useBean>태그를 사용합니다.

자바에서 클래스를 이용하기 해당 클래스의 객체를 만듭니다.

예를 들어

1
MemberInfo member = new MemberInfo();

c

와 같이 객체를 만듭니다.

JSP에서는 <jsp:useBean>태그를 이용해서 객체를 만들 수 있습니다.

1
<jsp:useBean id="member" class="com.memberInfo.MemberInfo" scope="request"/>
cs


먼저 밑의 소스코드와 같은 자바빈 파일이 있습니다.

MemberInfo.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package com.memberInfo;
 
public class MemberInfo {
    private String id;
    private String name;
    private int    age;
    private String address;
    private String email;
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
}
cs


자바코드를 이용해서 객체를 만드는 방법과 액션태그를 이용한 객체생성을 그림으로 그려봤습니다.

class속성의 값에 자바빈클래스의 풀네임을 적어주어야합니다. 그리고 id속성의 값에 생성된 객체를 대입할 변수를 지정해주는겁니다.

이렇게 객체를 생성했으면 객체의Property에 값을 설정할 수도 있고 가져와서 사용할 수 있습니다.

자바에서는

1
member.setId("sogom");
cs
이렇게 사용을 합니다.

JSP에서는 <jsp:setProperty>라는 액션태그와 <jsp:getProperty>라는 액션태그를 이용해서 Property를 세팅하고 사용할 수 있습니다.


3개의 속성을 사용하는데요 name, property, value 입니다.

name의 값에는 자바빈 객체가 담겨있는 변수의 이름을 적어줍니다.

property의 값에는 자바빈 객체의 Property들 중 설정하고자 하는 Property의 이름을 넣어주고

value의 값에 설정하고자 하는 값을 넣어줍니다. (이 그림에서는 "sogom"이라고 설정)

'member에게 말해줘, 'id' 프라퍼티에게 "sogom"이라고 저장하겠다고' 

뭐.. 이런셈이죠?


가지고 와서 사용할 때에도 큰 어려움이 없습니다


name속성에는 자바빈 객체가 담긴 변수의 이름을, property속성에는 사용하고자 하는 property의 이름을 적어주면

해당하는 property의 값을 가져다 줍니다.

그럼 실제로 MemberInfo.java를 가지고 지금까지 정리한 3가지의 태그를 이용해서 소스코드를 작성해 보겠습니다.

memberInfo.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<jsp:useBean id="member" class="com.memberInfo.MemberInfo"/>
    <jsp:setProperty name="member" property="id" value="sogom"/>
    <jsp:setProperty name="member" property="name" value="소곰"/>
    <jsp:setProperty name="member" property="age" value="26"/>
    <jsp:setProperty name="member" property="address" value="경기도"/>
    <jsp:setProperty name="member" property="email" value="asdf@gmail.com"/>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>회원정보</title>
</head>
<body>
    이름 : <jsp:getProperty property="name" name="member"/> <br />
    ID : <jsp:getProperty property="id" name="member"/> <br />
    나이 : <jsp:getProperty property="age" name="member"/> <br />
    지역 : <jsp:getProperty property="address" name="member"/> <br />
    이메일 : <jsp:getProperty property="email" name="member"/> <br />
</body>
</html>
cs

3번라인~8번라인에서 <jsp:useBean>태그를 이용해 객체를 생성하고

<jsp:setProperty>태그를 이용해 각 property의 값을 설정해주었습니다.

그리고 16~20라인에서 <jsp:getProperty>태그를 이용해서 각 property의 값들을 가져와서 출력했습니다.


그런데 보통은 지금처럼 소스코드내에서 값을 저장하고 불러서 사용하는것이 아닌 경우가 많습니다.

그래서 다음 포스팅에서 JSP페이지들 사이에 자바빈 객체를 전달하는 방법에 대해 정리해 보겠습니다!!