2012-02-25 3 views
0

스트럿츠 2를 사용하는이 3 계층 아키텍처에서 모델에 사용할 MVC 클래스가 무엇인지 확실하지 않습니다.3 계층 스트럿츠 2 아키텍처의 모델 클래스에 사용할 내용은 무엇입니까?

사용 사례 : 검색 주어진 이름의 대상 (도시).

아키텍처 : Struts 2 MVC (Action) -> Service -> DestinationDAO

스트럿츠 2 : View <---> Action

DestinationDAO 최대 절전 모드 사용 (이 작업은 서비스 계층을 호출) 데이터베이스에서 대상을 검색하는 기능 getDestination(String name) 있습니다.

제 질문은 : 액션 클래스는 jsp로 대상 정보를 표시하는 데 사용할 수있는 속성이 있어야합니다. 내 대상 POJO (최대 절전 모드에서 사용)를 사용해야합니까 아니면 다른 개체 여야합니까?

이 주제에 대해 읽어 보시려면 모든 제안/링크를 부탁드립니다.

답변

1

대상 POJO를보기의 DO로 사용할 수 있지만이 방법을 권장하지 않으며 얼마 지나지 않아 디버깅하기 어려운 바람직하지 않은 동작을 만들 수 있습니다. 이러한 유스 케이스 중 하나는 자동 트리거입니다. 모델 (POJO)에서 변경이있을 때 Hibernate 쿼리.

뷰를 렌더링하고 MVC (Struts2)의 Model 객체로 DTO를 사용하는 데 필요한 속성을 사용하여 DTO 세트를 만듭니다. 서비스 레이어를 호출하는 동안 DTO에서 POJO로 값을 복사 할 수 있습니다. 그러면 레이어가 더 쉽게 분리되고 쉽게 변경 될 수 있습니다.