WEB/DynamicWeb
[JSP] Beans - property 쉽게 사용하기
춘햄
2021. 4. 23. 14:50
직전 포스팅에서 자바빈의 property를 사용하여 태그에서 직접 set과 get을 수행할 수 있다고 했는데, 사실 그것보다는 property를 사용하는 가장 큰 이유가 따로 있다.
property는 사용할 클래스가 가지고 있는 맴버 변수들의 이름과 받아온 데이터의 이름이 같다면 자동으로 찾아서 property를 넣어주는 아주 간편한 기능을 가지고 있다.
이게 얼마나 편한지 예제를 통해 확인해보자.
◎MemberBean.java
package com.choonham;
public class MemberBean {
private String name;
private String userid;
private String nickname;
private String pwd;
private String email;
private String phone;
public MemberBean() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
}
◎addMemberForm.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h3>회원 정보 입력 폼</h3>
<form action = "addMember.jsp" method = "post">
이름: <input type = "text" required = "required" name = "name"/><br />
아이디: <input type = "text" required = "required" name = "userid"/><br />
별명: <input type = "text" required = "required" name = "nickname"/><br />
비밀번호: <input type = "text" required = "required" name = "pwd"/><br />
이메일: <input type = "text" required = "required" name = "email"/><br />
전화번호: <input type = "text" required = "required" name = "phone"/><br />
<input type = "submit" required = "required" value = "전송"/>
<input type = "reset" required = "required" name = "취소"/><br />
</form>
</body>
</html>
위와 같이 간단한 폼을 만들어주고, 입력 받는 모든 input 값의 name 속성을 MemberBean 클래스의 변수 이름과 동일하게 선언한 뒤,
◎addMember.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
request.setCharacterEncoding("UTF-8");
%>
<jsp:useBean id="member" class="com.choonham.MemberBean"/>
<jsp:setProperty property = "*" name = "member"/>
<!-- property 속성에 *을 찍으면, 맞는 property에 알아서 모든 맴버 변수가 들어간다. (개꿀;;) -->
이름: <jsp:getProperty property = "name" name = "member"/><br />
별명: <jsp:getProperty property = "nickname" name = "member"/><br />
e-mail: <jsp:getProperty property = "email" name = "member"/><br />
전화번호: <jsp:getProperty property = "phone" name = "member"/>
</body>
</html>
이렇게 property 속성에 *을 찍어 주면, request로 받는 모든 name 속성의 값에 맞는 Bean의 맴버 변수를 찾아 알아서 설정해준다. (개꿀...)
물론, 반드시 name의 값과 변수명은 동일해야한다.
다르면, null이 떨어진다.
이건... 진짜 개꿀이다.
반응형