作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我无法获取资源的上次发布日期。 OpenCms API 无法做到这一点。 http://files.opencms.org/javadoc/core/org/opencms/file/CmsResource.html
这很奇怪,它必须存储在某个地方,因为 OpenCms Workplace 在“历史记录”选项中显示此信息。
CmsResource 类中的 getDateReleased() 方法始终返回 DATE_RELEASED_DEFAULT,直到您设置资源的可用性。
有什么想法吗?谢谢!
最佳答案
最后,我通过挖掘 OpenCms 的源代码实现了这一点。我在这里找到了解决方案,在 getListItems 方法中:
所以我构建了这个方法来从任何资源获取最后发布的日期:
public static Date getLastPublishedDate(CmsJspActionElement cms, CmsResource resource) throws Exception {
CmsObject cmso = cms.getCmsObject();
String sitePath = cmso.getSitePath(resource);
if (cmso.readAllAvailableVersions(sitePath).size() > 0) {
I_CmsHistoryResource histRes = cmso.readAllAvailableVersions(sitePath).get(0);
int publishTag = histRes.getPublishTag();
CmsHistoryProject project = cmso.readHistoryProject(publishTag);
return new Date(project.getPublishingDate());
} else {
return null;
}
}
如果返回NULL,则资源尚未发布。
关于java - 如何从 OpenCms 中的 CmsResource 获取上次发布日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14338306/
我无法获取资源的上次发布日期。 OpenCms API 无法做到这一点。 http://files.opencms.org/javadoc/core/org/opencms/file/CmsResou
我是一名优秀的程序员,十分优秀!