2017-01-25 6 views
0

다음 프로젝트에서 JSR-286 포틀릿을 사용하여 평가하고 있습니다. 사용자는 호스팅 서비스로 웹 앱을 만들 수 있습니다. 각 사용자는 포틀릿 서버에서 웹 사이트를받습니다. 우리의 시나리오 중 하나는 다음과 같습니다포틀릿 탐색

  • 사용자가 우리의 "테이블 포틀릿"한 페이지, 그는 무료 ID를 선택 배치
  • 사용자가 다른 페이지에 우리의 "세부 포틀릿"S 중 하나를 배치
  • 때 일부 하나는 "테이블 포틀릿에서"세부 포틀릿 "S의 URL을 얻을 수있는 몇 가지 방법이 있나요 그가"세부 포틀릿 "

를 탐색해야"테이블 포틀릿 "에"상세 부톤 섬 "클릭 ". List<URL> PortletUtil.getPortletURLs(String portletType)과 같은 것?

세부 정보 페이지 URL이 변경되면 링크가 끊어지지 않도록 "테이블 포틀릿"에서 대상 URL을 구성하지 않아도됩니다.

아직 어떤 포틀릿 서버를 사용할지 결정하지 않았기 때문에 서버 별 솔루션이 괜찮습니다.

+0

세부 포틀릿으로 이동하려면 특정 URL을 갖기 위해 포틀릿 페이지 이름이 페이지 레이아웃 ID가 동일한 기준으로 계산된다는 점을 확인해야합니다. 동일한 페이지가 있어야합니다. 특정 레이아웃을 얻으려면 세부 사항 포틀릿이 페이지 중 하나에서만 사용되는지 확인해야합니다 –

답변

2

포틀릿 스펙은 페이지에 관해 아무것도 말하지 않습니다. JSR-286 견지에서 질문에 대한 대답은 "아니오"입니다.

독점 API가있는 Liferay 및 GateIn에도 태그를 지정합니다. 자세하게 설명하지 않고 Liferay에서는 사이트 (API 이름 : 그룹) 내에서 "레이아웃"(페이지의 API 이름)을 찾습니다. 이 작업을 위해 LayoutService 또는 LayoutLocalService를 사용합니다. 유스 케이스에 따라 지속적으로 페이지를 조회하는 것이 실적에 영향을 미칠 수 있으므로 결과를 캐시해야 할 수 있습니다.하지만 실제로 관련 실적이 좋으면 먼저 측정하십시오. 페이지를 명시 적으로 구성하지 않으려면 다른 페이지에 동일한 상세 포틀릿이 포함되어있는 경우 대응할 방법을 결정해야합니다.

GateIn의 API에서 힌트를 제공 할 수 없습니다.