2014-12-03 2 views
2

약 30 개의 변수가있는 액션 클래스가 있습니다. 이 필드에 대한 게터와 세터는 코드를 엉망으로 만들고 불필요한 줄을 추가합니다. private 필드를 모두 반영하여 Struts에 "표시"할 수있는 방법이 있습니까?Struts 2의 리플렉션

+0

어디에서이 기능을 사용 하시겠습니까? 프리젠 테이션 레이어 (스크린)에서? –

+0

예 @Buhake Sindi. Struts는 getter와 setter를 통해서만 변수에 액세스 할 수 있지만, 좋지는 않습니다. –

+3

@VladMatvei Java Bean에서 getter 및 setter를 사용하는 것이 좋습니다. 그러나 질문은 추가 서수 +1입니다. –

답변

0

나에게 잘못된 접근 방식처럼 들립니다.

getter와 setter는 Java의 개념 및 캡슐화에있어 매우 기본입니다. 작성자와 설정자가 롬복 (http://projectlombok.org/index.html)과 같은 프레임 워크를 사용하거나 다른 언어 (예 : Gradle)를 쓰는 것을 좋아하지 않는 경우.

대부분의 경우 - 자바 코드가이를 사용하기 때문에 코드를 엉망으로 만든다는 인식이 약간 잘못되었습니다. 좋은 IDE가 당신을 방해하지 않도록 도와야합니다.

아, Reflection은 엄청난 성능 오버 헤드를 추가하며 개인 회원에 대한 액세스를 완전히 차단하지 않습니다.

0

OGNL이 작동하려면 실제로 게터와 설정자가 필요하지 않습니다. 그러나 그렇게하지 마십시오.

큰 클래스의 "오버 헤드"가 염려되는 경우 뷰 상태를 캡슐화하고 해당 객체 만 표시하는 객체를 만듭니다. ModelDriven 인터페이스를 통해이 작업을 수행 할 수도 있습니다. 일부주의 사항이 적용됩니다.

게터와 세터는 Java 코스와 동등합니다. 그것에 익숙해. 간단한 getXxx/setXxx 방법을 자동으로 접는 IDE를 사용하십시오. 발표자 패턴을 사용하여 뷰 상태를 캡슐화하고이를 웹과 비즈니스 도메인 객체 간의 변환 레이어로 사용하십시오.

+0

엔티티가 변경되지 않으며 ModelDriven 인터페이스가 작동하지 않습니다. 하지만 DTO 객체를 작성할 수 있습니다. 좋은 접근 방법이 될까요? –

관련 문제