我需要自定义哪个portlet出现在"添加更多portlet菜单"中,如下图所示:

我需要根据登录的用户或站点(社区)限制此菜单中显示的portlet数量.因此,Site-owner或Site-admin将只能将这些portlet添加到omni-admin为其确定的页面中.
Liferay是否提供任何此类功能(通过配置或其他)或者我是否必须创建新的portlet和钩子来实现此目的?
环境: Liferay 6.1 CE GA2
任何想法都将非常感激.
谢谢
从这些隐式对象获取属性有什么区别:
renderRequest.getAttribute("myVar")
actionRequest.getAttribute("myVar")
request.getAttribute("myVar")
Run Code Online (Sandbox Code Playgroud)
为什么他们都被允许?
我的意思是,你通常存储属性,actionRequest或renderRequest对象,但你可以得到它的request隐含对象,为什么呢?
什么是正确的方法?
如何在视图时间内获取操作对象?
它是否违反了动作渲染renderParams传递机制?
如果NullPointerException在尝试在JSP中使用它们时抛出actionRequest/response作为隐式对象,为什么它们可用?
最后,什么时候在request(PortalUtil.getOriginalServletRequest)中存储属性是有用的?
我有一个使用服务构建器构建的Liferay Custom服务.我有WebArticleLocalHelperServiceImpl哪个是我服务的实现.
如何从其他插件项目调用我的服务.
我可以使用以下方法从速度模板项目调用服务:
// get the service using servicelocator.
#set ($myService = $serviceLocator.findService('my-services-portlet', 'com.mycompany.service.MyService'))
// then call the service method
#set ($result = $myService.mymethod())
Run Code Online (Sandbox Code Playgroud)
我可以从速度模板调用服务,但我无法从其他插件项目(Portlet)调用该服务
当我打电话ServiceLocator时MVCPortlet,它说ClassNotFound.
呼叫*serviceImpl来自的正确方法是什么MVCPortlet?
我也在搜索liferay论坛,但没有一个解决方案适合我.
非常感谢提前.
任何人都可以向我提供一个链接/文档,其中包含有关如何使用Selenium编写和测试自定义liferay portlet的信息.
我正在使用Liferay 6.1EE
谢谢
我发现Liferay的概念非常令人困惑.
当我添加新项目时,我不知道最好选择什么:
所有这些都是相似的,可以实现相同的目标.
当您在Liferay中开发一些新功能时,您是否有任何关于选择概念的线索或建议?
我需要<liferay-ui:search-container>在一个JSP中使用两个不同的标签.
如果我们使用两个<liferay-ui:search-container>标签,则分页会出现问题:
当我单击第一个<liferay-ui:search-container>标签的第3页时,第二个<liferay-ui:search-container>标签也会移动到第三个页面.
另外,如果对于第一个<liferay-ui:search-container>标签我在第3页并且我点击第二<liferay-ui:search-container>个标签的第2页然后第二个标签转到第2页但是第一个标签结果被重置为第1页.
它们应该相互独立.
环境:Liferay 6. +
我有jsp页面(比方说source.jsp),表格如下:
<html>
<head>
<body>
<form action="Servlet123" method="POST">
// form fileds ...
</form>
</body>
</head>
</html>
Run Code Online (Sandbox Code Playgroud)
doPostservlet中所需的 -
@WebServlet("/Servlet123")
public class Servlet123 extends HttpServlet {
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
//use with requset...
}
}
Run Code Online (Sandbox Code Playgroud)
如何获取source.jsp向此servlet发送请求的页面(在本例中为 - )?请求/会话中是否有方法?
我的问题是每次更改Liferay之后portal-properties(特别是在新的门户项目开始时这是常见的)我需要重新启动整个门户.
我可以设置一些属性挂钩,这些值将在重新部署后更改.此外,必须可以在运行时更改大多数门户网站属性.
但是,您是否知道在portal-ext.properties不重新启动Liferay门户的情况下反映更改的方法?
我试图在jsp中的两个单词之间插入多个空格.
有没有办法插入空格而不使用  多次?
请帮助.谢谢.
我正在使用多个域来访问liferay门户实例.
例如,以下是在Windows的hosts文件中映射的域:
www.liferaytest1.comwww.liferaytest2.com并且在Liferay的Control Panel→中Portal Settings,www.liferaytest1.com被设置为虚拟主机.
我可以访问所有上述域名的门户网站实例localhost.
当我访问门户网站时,www.liferaytest1.com我可以Guest直接访问网站页面.比如说,home是Guest站点中的页面,而不是访问,www.liferatest1.com/web/guest/home我可以直接访问它www.liferaytest1.com/home
因此URL在某种程度上缩短了.
到现在为止还挺好.
现在,当我尝试访问门户网站时www.liferaytest2.com,当我点击My SitesLiferay的portlet中列出的任何网站时,它会将我重定向到该网站,其中包含虚拟主机中提到的域名,www.liferaytest1.com而不是保留www.liferaytest2.com.
假设我有一个名为的网站Help,所以当我点击My Sitesportlet中的帮助网站链接时,不是留在www.liferaytest2.com域中,而是重定向www.liferaytest1.com域名.
这是因为在liferay中完成了虚拟主机映射.
当我访问门户网站www.liferaytest2.com并订阅任何资产时,电子邮件中的链接包含虚拟主机域即ie www.liferaytest1.com.
如何克服上述问题?
我的要求是保持相对于门户网站访问域.
当我访问门户网站时,www.liferaytest2.com它不应该重定向我www.liferaytest1.com点击任何网站链接,如上所述,而且我将获得的电子邮件也应该是相对于我正在访问的域名,即www.liferaytest2.com.