freemarker 템플릿을 사용하여 자산 게시자에 나열된 웹 컨텐츠를 표시하고 있습니다. 나는 그래서이Freemarker 템플릿의 포틀릿 네임 스페이스에 액세스하십시오.
<#attempt>
<#assign namespace = request["portlet-namespace"]>
<#recover>
<#assign namespace = 'undefined'>
</#attempt>
처럼 (항목 인쇄 등) 일부 자산 기능을 사용하려면 포틀릿 이름 공간을 할당하기 위해 노력하고있어 템플릿에서
, 인쇄 버튼을 아래 테 코드를 들고<a href="javascript:${namespace}printPage_0();" title='Print'>
printPage
는 asset_print.jspf
음에하는 Liferay 자산 게시자 코드에서 사용하는 방법입니다, 모든 것이 잘 작동 : 때 브라우저에서 페이지를 검사하면서 네임 스페이스가 계산되고 네임 스페이스 변수에도 할당되었는지 확인했습니다 (UI에 오류가 표시되지 않음). 그러나,을 Liferay 포털 로그온 사용자가 전체 웹 콘텐츠를 볼 시도 할 때마다 (예. 자세히보기 클릭) 자산 게시자
Expression request["portlet-namespace"] is undefined on line
에서 누구든지이 문제를 본 다음? freemarker 템플릿에서 포틀릿 - 네임 스페이스를 얻는 다른 방법이 있습니까?