안녕하십니까 : 우리의 응용 프로그램에서는 데이터베이스에서 데이터를 검색했습니다. 예를 들어 테이블에 columes : id, name, age, address, email가 있습니다.동적으로 객체에 대한 속성을 추가하십시오.
그러면 우리는 클라이언트에 따라 이러한 속성 중 일부를 얻을 것입니다.
클라이언트가 id, name을 필요로하면 클라이언트에 id, name, age가 필요하면 id 이름을 얻습니다. id, name, age를 얻습니다.
이제 이러한 속성을 래핑하는 클래스를 만들려고합니다. 그러나 우리는 어떤 필드가 요구되는지 정확히 알지 못합니다.
String[] requestPro={"name","id"}; //this field is specified by client
Map<String, Object> map=new HashMap<String, Object>();
Entity en=Entity.newInstance();
for(String p:requestPro){
map.put(p, BeanUtils.getProperty(en, p));
}
여기지도를 클래스로 바꿀 수 있습니까?
:(고맙습니다.) – hguser
자바로이 작업을 수행 할 수 있습니다. http://stackoverflow.com/questions/2215536/java-dynamic-properties – HDave
@HDave Funny,이 질문에 대한 두 가지 대답 그리고 파스칼의 대답은 바이트 코드 조작 라이브러리 인 CGLib에서만 작동하므로 클래스를 즉시 수정하고 클래스 로더를 변조 할 준비가되면 Java로 할 수 있습니다. –