발생일: 2008.09.13

문제:
Java에서 해당 bean에 대한 getter/setter를 동적으로 호출하고자 한다.

해결책:
java.beans.Expression (java.beans.Statement를 상속) 을 사용한다.

생성자
Expression(Object value, Object target, String methodName, Object[] arguments)
Expression(Object target, String methodName, Object[] arguments)
value: expression의 결과값
target: 메서드를 호출할 객체
methodName: 호출할 메서드명
arguments: parameter로 넣을 인자

호출 예:
A a = new A();
//a 객체의 methodA(String s1, String s2)를 호출
Expression ex = new Expression(a, "methodA", new Object[] {"aaa", "bbb"});
(단, parameter로 들어갈 target 객체는 public으로 선언되어있어야 함.)


팁:
getter/setter에 대한 매핑을 쉽게 해결할 수 있도록,
Apache에서 BeanUtils에 대한 라이브러리를 제공한다.

저작자 표시 비영리 변경 금지
Posted by ohgyun