liferay动态更改页面标题

时间:2013-07-08 19:36:19

标签: liferay liferay-6 liferay-velocity

我正在尝试更改页面的标题,但方法PortalUtil.setPageTitle("title", request);无法使用jsp。我也试过doView方法。

我的第二次尝试是通过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

但Velocity仅显示$holas $holas2

3 个答案:

答案 0 :(得分:1)

看起来我在第一次尝试时弄错了 - 因此我用这个替换了前面的答案:将this code添加到JSP或doView:

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

答案 1 :(得分:0)

在你的jsp中你应该尝试

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

layout是jsp生成的Layout对象。

答案 2 :(得分:0)

使用以下代码,

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

从控制器传递title属性,或者也可以使用静态文本。 导入上面的实用程序类以及

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

这对jsp及其完成。