문제

단일 페이지에 여러 구성 요소를로드 해야하는 웹 응용 프로그램을 설계하고 있습니다. (페이지 레이아웃의 관점에서 Google 리더와 유사합니다) 저는 이러한 구성 요소를 서로 분리하는 것을 좋아합니다 (재사용 성과 같은 이유로). 예를 들어, 사용자가 가입 한 여러 피드를 탐색 할 수있는 왼쪽 패널이 있으며 (사용자 별) 오른쪽에 해당 피드의 내용을 표시하고 그에 대한 특정 정보를 표시하는 오른쪽 패널이 표시됩니다. 특정 피드. MVC와보다 구체적으로 Spring-MVC에 대한 나의 이해는 각 컨트롤러가 전체 페이지를 담당한다는 것입니다. 다음은 이것을 조사한 후에 제가 생각해 낸 두 가지 솔루션이 있으며, 그 중 어느 것도 나에게 좋은 소리가 나지 않습니다.

  1. 해당 URL에 매핑 된 기본 컨트롤러가있어서 JSP 파일 내부에서 다른 구성 요소를로드하십시오. 이것은 가능하지만 좋은 솔루션처럼 들리지 않습니다.
  2. 포틀릿 사용.

모범 사례가 무엇인지 알고 싶습니다. 이것은 MVC 프레임 워크에서 매우 일반적인 웹 디자인 문제처럼 들립니다. 사람들은 어떻게해야합니까?

도움이 되었습니까?

해결책

스프링 MVC 컨트롤러는 일반적으로 "담당자"입니다 :-) 특정 처리 요구 반드시 상기 요청이 모 놀리 식 페이지가 사용자에게 제시되는 것을 의미하지는 않습니다.

Google 리더와 같은 기능에 대해 이야기하고 있으므로 AJAX를 사용하여 페이지의 다른 구성 요소간에로드 / 탐색할까요? 이 경우 3 개의 구성 요소를 별도의 URI를 통해 별도의 컨트롤러에 쉽게 매핑 할 수 있으며 처음에는 전체 페이지를로드 할 "기본"컨트롤러 하나가 있습니다.

그렇지 않은 경우 페이지가 정적 인 경우 구성 요소를 먼저 인스턴스화 한 다음 필요에 따라 명령 / 요청을 적절한 구성 요소로 지시하여 컨트롤러가 "라우터"로 행동하도록 할 수 있습니다. 각 구성 요소는 모델의 자체 부분을 업데이트 한 후 "기본"컨트롤러가 렌더링 할 뷰를 반환합니다.

포틀릿을 사용할 수 있습니까? 확신하는. 그러나 우리가 단일 페이지에 대해 이야기하고 있다면 약간의 과잉 일 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top