Liferay portlet 部署时间戳
Liferay portlet deploy timestamp
我需要在 jsp 页中包含一些 JavaScript:
<script type="text/javascript" src="<%=request.getContextPath()%>/newsletter/js/newsletter.js"></script>
当我部署新的 portlet 版本并更改此 JavaScript 文件时,一些用户会看到此文件的旧版本。
我看到 Liferay 将上次部署时间戳添加到 javascripts (...js?t=14573725543
),如果我将此文件添加到 liferay-portlet.xml
,我就可以做到。但是我不能用 newsletter.js
来做。有时我不需要加载这个文件。
是否可以手动添加这个自动时间戳?我在 $theme_timestamp
.
的主题中做了类似的事情
Liferay 正在使用 com.liferay.portal.model.Portlet.getTimestamp()
生成 t=
之后的数字。您可以从 PortletContext 获取 (Liferay) portlet:
<%
LiferayPortletContext context = (LiferayPortletContext) portletConfig.getPortletContext();
long timestamp = context.getPortlet().getTimestamp();
%>
<script type="text/javascript"
src="<%=request.getContextPath()%>/newsletter/js/newsletter.js?t=<%=timestamp%>">
</script>
我需要在 jsp 页中包含一些 JavaScript:
<script type="text/javascript" src="<%=request.getContextPath()%>/newsletter/js/newsletter.js"></script>
当我部署新的 portlet 版本并更改此 JavaScript 文件时,一些用户会看到此文件的旧版本。
我看到 Liferay 将上次部署时间戳添加到 javascripts (...js?t=14573725543
),如果我将此文件添加到 liferay-portlet.xml
,我就可以做到。但是我不能用 newsletter.js
来做。有时我不需要加载这个文件。
是否可以手动添加这个自动时间戳?我在 $theme_timestamp
.
Liferay 正在使用 com.liferay.portal.model.Portlet.getTimestamp()
生成 t=
之后的数字。您可以从 PortletContext 获取 (Liferay) portlet:
<%
LiferayPortletContext context = (LiferayPortletContext) portletConfig.getPortletContext();
long timestamp = context.getPortlet().getTimestamp();
%>
<script type="text/javascript"
src="<%=request.getContextPath()%>/newsletter/js/newsletter.js?t=<%=timestamp%>">
</script>