我有一个portlet,我想在其中设置标题作为不同的页面加载。我找到的解决方案是使用PortalUtil.addPageTitle (String myTitle, HttpServletRequest request)
提到here。但我不知道这里以及如何使用它。任何的想法?只要它不是javascript方法,任何替代方案也会起作用。
答案 0 :(得分: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);