在Liferay的文档和媒体中,我创建了一个名为myfolder
的文件夹,其中包含一个名为subfolder
的文件夹,其中包含一个名为file.txt
的文件。
我有 DLFileEntry of file.txt
。
如何获取字符串/folder/subfolder/file.txt
?
笔记:
- 上下文:出于显示/报告目的,我需要获取文件的完整路径,有点像它在面包屑中的显示方式。
-
getTreePath()
提供标识符,例如/32701/
而不是文件夹名称 - 我
getBreadcrumbs
整个Liferay 7 DXP SP4,没有源代码,尽管Liferay 5中似乎存在具有此名称的方法。
这是我
的实现:
protected String fullPath(DLFileEntry file) throws PortalException {
String fileName = file.getFileName();
DLFolder folder = file.getFolder();
if (folder == null) {
return "/" + fileName;
}
else {
return fullPath(folder) + "/" + fileName;
}
}
protected String fullPath(DLFolder folder) throws PortalException {
String folderName = folder.getName();
DLFolder parent = folder.getParentFolder();
if (parent == null) {
return "/" + folderName;
}
else {
return fullPath(parent) + folderName;
}
}
欢迎所有提高可维护性和性能的想法!