小编Pra*_*h K的帖子

如何自定义要在"添加更多portlet"菜单中显示的portlet

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

在此输入图像描述

我需要根据登录的用户或站点(社区)限制此菜单中显示的portlet数量.因此,Site-owner或Site-admin将只能将这些portlet添加到omni-admin为其确定的页面中.

Liferay是否提供任何此类功能(通过配置或其他)或者我是否必须创建新的portlet和钩子来实现此目的?

环境: Liferay 6.1 CE GA2

任何想法都将非常感激.

谢谢

liferay liferay-6

6
推荐指数
1
解决办法
4737
查看次数

Liferay中不同的"请求"隐式对象

从这些隐式对象获取属性有什么区别:

renderRequest.getAttribute("myVar")
actionRequest.getAttribute("myVar")
request.getAttribute("myVar")
Run Code Online (Sandbox Code Playgroud)

为什么他们都被允许?
我的意思是,你通常存储属性,actionRequestrenderRequest对象,但你可以得到它的request隐含对象,为什么呢?
什么是正确的方法?

如何在视图时间内获取操作对象?
它是否违反了动作渲染renderParams传递机制?
如果NullPointerException在尝试在JSP中使用它们时抛出actionRequest/response作为隐式对象,为什么它们可用?

最后,什么时候在request(PortalUtil.getOriginalServletRequest)中存储属性是有用的?

java attributes servlets request liferay

6
推荐指数
1
解决办法
2664
查看次数

如何从liferay中的其他插件调用自定义服务?

我有一个使用服务构建器构建的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)调用该服务

当我打电话ServiceLocatorMVCPortlet,它说ClassNotFound.

呼叫*serviceImpl来自的正确方法是什么MVCPortlet

我也在搜索liferay论坛,但没有一个解决方案适合我.

非常感谢提前.

service portlet liferay liferay-6

5
推荐指数
1
解决办法
2398
查看次数

Selenium测试自定义portlet

任何人都可以向我提供一个链接/文档,其中包含有关如何使用Selenium编写和测试自定义liferay portlet的信息.

我正在使用Liferay 6.1EE

谢谢

selenium automated-tests liferay liferay-6

5
推荐指数
1
解决办法
1226
查看次数

选择和何时选择:Web内容,动态列表记录还是特定模型?

我发现Liferay的概念非常令人困惑.

当我添加新项目时,我不知道最好选择什么:

  • 使用带有模板和结构的Web内容概念
  • 使用动态列表记录
  • 使用特定模型(使用服务构建器).

所有这些都是相似的,可以实现相同的目标.

当您在Liferay中开发一些新功能时,您是否有任何关于选择概念的线索或建议?

liferay

5
推荐指数
1
解决办法
1749
查看次数

如何在单个JSP中使用两个(多个)Liferay UI搜索容器标记

我需要<liferay-ui:search-container>在一个JSP中使用两个不同的标签.

如果我们使用两个<liferay-ui:search-container>标签,则分页会出现问题:

  1. 当我单击第一个<liferay-ui:search-container>标签的第3页时,第二个<liferay-ui:search-container>标签也会移动到第三个页面.

  2. 另外,如果对于第一个<liferay-ui:search-container>标签我在第3页并且我点击第二<liferay-ui:search-container>个标签的第2页然后第二个标签转到第2页但是第一个标签结果被重置为第1页.

它们应该相互独立.

环境:Liferay 6. +

liferay liferay-6

5
推荐指数
1
解决办法
4430
查看次数

使用servlet中的请求或会话显示/了解/获取发送页面

我有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发送请求的页面(在本例中为 - )?请求/会话中是否有方法?

java jsp servlets request

5
推荐指数
1
解决办法
1598
查看次数

是否可以在不重新启动整个Liferay门户的情况下反映portal-ext.properties中的更改?

我的问题是每次更改Liferay之后portal-properties(特别是在新的门户项目开始时这是常见的)我需要重新启动整个门户.

我可以设置一些属性挂钩,这些值将在重新部署后更改.此外,必须可以在运行时更改大多数门户网站属性.

但是,您是否知道在portal-ext.properties不重新启动Liferay门户的情况下反映更改的方法?

configuration properties liferay

5
推荐指数
2
解决办法
3347
查看次数

在jsp中插入多个空格

我试图在jsp中的两个单词之间插入多个空格.

有没有办法插入空格而不使用&emsp;&emsp;多次?

请帮助.谢谢.

html java jsp java-ee

5
推荐指数
1
解决办法
2万
查看次数

在Liferay中设置虚拟主机的优缺点是什么?

我正在使用多个域来访问liferay门户实例.

例如,以下是在Windows的hosts文件中映射的域:

  1. www.liferaytest1.com
  2. www.liferaytest2.com

并且在Liferay的Control Panel→中Portal Settings,www.liferaytest1.com被设置为虚拟主机.

我可以访问所有上述域名的门户网站实例localhost.

当我访问门户网站时,www.liferaytest1.com我可以Guest直接访问网站页面.比如说,homeGuest站点中的页面,而不是访问,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.

liferay liferay-6

5
推荐指数
1
解决办法
5632
查看次数