我正在使用Liferay 6.2和JSF 2.2.12
我有两个自定义portlet(使用Primefaces)。
我的portlet使用<h:head />
导入Javascript资源。
这些portlet显示在同一页面上。
在我的暂存环境中,primefaces.js
一次包含在呈现的视图中:
<script src="https://example.com/group/my-site/url?p_p_id=portletone_WAR_portletone&...javax.faces.resource=primefaces.js...">
为什么在生产环境中会得到两个<script>
?
<script src="https://example.com/group/my-site/url?p_p_id=portletone_WAR_portletone&...javax.faces.resource=primefaces.js...">
<script src="https://example.com/group/my-site/url?p_p_id=portlettwo_WAR_portlettwo&...javax.faces.resource=primefaces.js...">
(与jquery.js
的观察结果相同)
答案 0 :(得分:3)
这是由于Liferay并行渲染所致。为了禁用并行渲染,请将以下属性添加到 portal-ext.properties
layout.parallel.render.enable=false
所有荣誉归功于Liferay论坛上的Neil Griffin: https://community.liferay.com/fr/forums/-/message_boards/message/20947470#_com_liferay_message_boards_web_portlet_MBPortlet_message_36195975