2017-09-13 4 views
0

포틀릿 "pA"에서 기록 된 사용자를 기반으로 일부 정보를 인쇄하는 작업이 있으므로 지금 다른 포틀릿 "pB"에서 해당 정보가 필요합니다. 코드를 복제하는 대신 "pB"에서 포레 "pA"의 동작에 액세스하려고합니다. 그게 가능한가?다른 포틀릿에서 작업에 액세스

나는 "pB는"의 시작 부분이 얻을 관리했습니다 연구 :

<%@ taglib uri="http://liferay.com/tld/portlet" prefix="liferay-portlet" %> 

<liferay-portlet:actionURL var="name" portletName="pA_WAR_war-of-pA"> 
    <liferay-portlet:param name="view" value="v" /> 
</liferay-portlet:actionURL> 

<h1>URL:: <a href="${name}">${name}</a></h1> 

그러나 "pB는"대신 "pA에"에 대한 URL을 생성 ???

답변

3

나쁜 스타일이기 때문에 가능한 경우 걱정하지 않겠습니다. 두 개의 다른 포틀릿에서 동일한 코드가 필요하면 라이브러리에서 제공하고 두 포틀릿의 코드를 사용하십시오.

UI 계층의 포틀릿은 닫힌 개념이어야하며 다른 포틀릿과 상호 종속성이 없어야합니다. 그러나 공통 라이브러리에 대한 의존성은 문제가되지 않습니다.

+0

동일한 코드가 필요하지 않습니다. 동일한 데이터를 n 개 위치에두고 싶습니다. 그래서 매우 간단한 웹 서비스를 만들고 싶지만이 프레임 워크에서 잃어버린 원인처럼 보입니다. Liferay의 고정 된 URL에서 로그인 한 사용자를 얻으려면 정말 개념이 다릅니다. – Saiyine

+0

"관심사 분리"라고합니다. 그리고 물론, 현재 로그인 한 사용자의 신분을 언제 어디에서나 얻을 수 있지만, 질문은 이것이 당신이보고자하는 것을 암시하지 않습니다. 틀 렸으면 고쳐줘... –