반응형
먼저 아래사이트에서 필요 라이브러리를 다운로드 받는다...
http://commons.apache.org/beanutils/
http://commons.apache.org/logging/
필요라이브러리는 아래와 같다.
/*현재 최신버전은 1.8.0 이다.*/
commons-beanutils. jar
commons-beanutils-bean-collections.jar
commons-beanutils-core.jar
/*현재 최신버전은 1.1.1 이다.*/
commons-logging.jar
테스트 Person 객체.. 코드
public class Person {
private String firstName;
private String lastName;
private Address address;
private String phoneNumber;
private long personId;
public Person() {
address = new Address();
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public long getPersonId() {
return personId;
}
public void setPersonId(long personId) {
this.personId = personId;
}
public String toString() {
StringBuffer buffer = new StringBuffer();
buffer.append("firstName-->").append(this.getFirstName()).append("\n");
buffer.append("lastName-->").append(this.getLastName()).append("\n");
buffer.append("phoneNumber-->").append(this.getPhoneNumber()).append("\n");
buffer.append("personId-->").append(this.getPersonId()).append("\n");
buffer.append("address-->").append(this.getAddress().toString()).append("\n");
return buffer.toString();
}
}
public class Address {
private String address;
private String detailAddress;
private String zipCode;
private String countryCode;
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getDetailAddress() {
return detailAddress;
}
public void setDetailAddress(String detailAddress) {
this.detailAddress = detailAddress;
}
public String getZipCode() {
return zipCode;
}
public void setZipCode(String zipCode) {
this.zipCode = zipCode;
}
public String getCountryCode() {
return countryCode;
}
public void setCountryCode(String countryCode) {
this.countryCode = countryCode;
}
public String toString() {
StringBuffer buffer = new StringBuffer();
buffer.append(" address-->").append(this.getAddress()).append("\n");
buffer.append(" detailAddress-->").append(this.getDetailAddress()).append("\n");
buffer.append(" zipCode-->").append(this.getZipCode()).append("\n");
buffer.append(" countryCode-->").append(this.getCountryCode()).append("\n");
return buffer.toString();
}
}
위의 예제는 스트러츠같은곳에서 form 값을 세팅할때 사용하는것을 한번 작성해봤다.
스트러츠에도 위와같이 폼빈을 세팅해주지 않을까 생각한다.
리플렉션으로 만들어도 되겠지만 이왕 누군가가 만들어둔게 있으면 가져다 쓰는게 시간도 절약되고 주절주절 ㅋㅋㅋ
오늘은 여기까지. ^^
http://commons.apache.org/beanutils/
http://commons.apache.org/logging/
필요라이브러리는 아래와 같다.
/*현재 최신버전은 1.8.0 이다.*/
commons-beanutils. jar
commons-beanutils-bean-collections.jar
commons-beanutils-core.jar
/*현재 최신버전은 1.1.1 이다.*/
commons-logging.jar
테스트 Person 객체.. 코드
public class Person {
private String firstName;
private String lastName;
private Address address;
private String phoneNumber;
private long personId;
public Person() {
address = new Address();
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public long getPersonId() {
return personId;
}
public void setPersonId(long personId) {
this.personId = personId;
}
public String toString() {
StringBuffer buffer = new StringBuffer();
buffer.append("firstName-->").append(this.getFirstName()).append("\n");
buffer.append("lastName-->").append(this.getLastName()).append("\n");
buffer.append("phoneNumber-->").append(this.getPhoneNumber()).append("\n");
buffer.append("personId-->").append(this.getPersonId()).append("\n");
buffer.append("address-->").append(this.getAddress().toString()).append("\n");
return buffer.toString();
}
}
public class Address {
private String address;
private String detailAddress;
private String zipCode;
private String countryCode;
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getDetailAddress() {
return detailAddress;
}
public void setDetailAddress(String detailAddress) {
this.detailAddress = detailAddress;
}
public String getZipCode() {
return zipCode;
}
public void setZipCode(String zipCode) {
this.zipCode = zipCode;
}
public String getCountryCode() {
return countryCode;
}
public void setCountryCode(String countryCode) {
this.countryCode = countryCode;
}
public String toString() {
StringBuffer buffer = new StringBuffer();
buffer.append(" address-->").append(this.getAddress()).append("\n");
buffer.append(" detailAddress-->").append(this.getDetailAddress()).append("\n");
buffer.append(" zipCode-->").append(this.getZipCode()).append("\n");
buffer.append(" countryCode-->").append(this.getCountryCode()).append("\n");
return buffer.toString();
}
}
import java.util.HashMap;
import java.util.Map;
import java.util.Map;
import org.apache.commons.beanutils.BeanUtils;
public class Test {
public static void main(String[] args) throws Exception{
Map map = new HashMap();
map.put("firstName", new String("블라블라"));
map.put("lastName", new String("블랍블라블라블라"));
map.put("phoneNumber", new String("0000-0000-0000"));
map.put("personId", new Long(10011001));
map.put("address.address", new String("경기도 블라블라블라블라") );
map.put("address.detailAddress",new String("불라불라??? ???동 ????호") );
map.put("address.zipCode",new String("000-000") );
map.put("address.countryCode",new String("국가코드 000"));
Object oClass = Person.class.newInstance();
BeanUtils.populate(oClass, map);
System.out.println(oClass.toString());
}
}
public static void main(String[] args) throws Exception{
Map map = new HashMap();
map.put("firstName", new String("블라블라"));
map.put("lastName", new String("블랍블라블라블라"));
map.put("phoneNumber", new String("0000-0000-0000"));
map.put("personId", new Long(10011001));
map.put("address.address", new String("경기도 블라블라블라블라") );
map.put("address.detailAddress",new String("불라불라??? ???동 ????호") );
map.put("address.zipCode",new String("000-000") );
map.put("address.countryCode",new String("국가코드 000"));
Object oClass = Person.class.newInstance();
BeanUtils.populate(oClass, map);
System.out.println(oClass.toString());
}
}
위의 예제는 스트러츠같은곳에서 form 값을 세팅할때 사용하는것을 한번 작성해봤다.
스트러츠에도 위와같이 폼빈을 세팅해주지 않을까 생각한다.
리플렉션으로 만들어도 되겠지만 이왕 누군가가 만들어둔게 있으면 가져다 쓰는게 시간도 절약되고 주절주절 ㅋㅋㅋ
오늘은 여기까지. ^^