2013-07-08 173 views
0

我試圖更改頁面的標題,但方法PortalUtil.setPageTitle("title", request);不能從jsp工作。我也嘗試了doView方法。liferay動態更改頁面標題

我的第二次嘗試throught的ServletRequest:

doView我寫

HttpServletRequest httpRequest = PortalUtil.getOriginalServletRequest(PortalUtil.getHttpServletRequest(renderRequest)); 
httpRequest.setAttribute("hola", "hola"); 

而在門戶網站正常我嘗試:

#set ($holas =$request.get('attributes').get('hola')) 
#set ($holas2 = $request.getSession().getAttribute("hola")) 

$holas  
$holas2 

但速度只顯示$holas $holas2

回答

1

看來我理解錯了我的第一次嘗試 - 因此我已經取代了以前的答案與此一:加入this code到你的JSP或的doView:

<% 
com.liferay.portal.util.PortalUtil.setPageTitle("Honk", request); 
%> 
+0

Javascript不是一個選項,因爲Google不會閱讀js。你能解釋一下嗎?有沒有可能在doView裏面的XXXportlet.java? –

+0

這工作馬上。謝謝 – Sahil

0

在JSP你應該嘗試

<% 
layout.setTitle("title"); 
%> 

layout是一個由jsp生成的Layout對象。

0

使用下面的代碼,從控制器

String title = (String)renderRequest.getAttribute("title"); 
HtmlPageTitleUtil.setHtmlTitle(title, request, true); 

通title屬性,或者您可以使用靜態文本爲好。 導入上述實用工具類,以及,

<portlet:defineObjects /> 
<theme:defineObjects /> 

這jsp和它的完成。