1

我有一个portlet,我想在加载不同页面时设置标题。我找到的解决方案是使用这里PortalUtil.addPageTitle (String myTitle, HttpServletRequest request)提到的。但我不知道这里以及如何使用它。任何的想法?只要不是 javascript 方法,任何替代方法也可以使用。

4

1 回答 1

2
PortalUtil.addPageTitle (String myTitle, HttpServletRequest request)

设置页面的标题 (htmlTitle)。不是 portlet 的标题。

有两种方法可以解决这个问题,

Liferay 提供了一个通过 portlet 首选项设置标题的选项。

PortletPreferences portletSetup = PortletPreferencesFactoryUtil.getLayoutPortletSetup(layout, instanceId);
    Locale locale = new Locale("en", "US"); //straight to the point
    portletSetup.setValue("portlet-setup-title-" + LocaleUtil.toLanguageId(locale), title);
    portletSetup.setValue("portlet-setup-use-custom-title", "true");
    portletSetup.store();

在您的 portlet 类中,您将标题设置为响应。

response.setTitle("Dynamic Title");

如果要更改页面的标题,可以通过两种不同的方式进行设置。您可以使用控制面板为每页添加唯一标题

添加标题

另一种方法是通过编程(下面是伪代码)。

layout.setHtmlTitle("dynamic Title");
layoutLocalserviceUtil.updateLayout(layout);
于 2013-01-04T00:32:39.017 回答