Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java OpenCMS-如何分解平面结构而不是文件夹/树结构_Java_Opencms - Fatal编程技术网

Java OpenCMS-如何分解平面结构而不是文件夹/树结构

Java OpenCMS-如何分解平面结构而不是文件夹/树结构,java,opencms,Java,Opencms,我希望我的内容有一个树/文件夹结构,但希望所有页面都作为一个平面URL。例如 位于/cat1/subcat2/tulips.html的页面将提供给: 位于/cat5/roses.html的页面将提供给: 我需要所有的链接自动计算,并确保没有冲突 这在opencms中是可能的吗 谢谢 Assaf我将大致概述如何处理这一问题: 您首先可以通过()、taglib或java代码中的相应java API获得所有资源的列表,因为您仍然需要一些编码,然后在OpenCms根文件夹中创建类型为“externa

我希望我的内容有一个树/文件夹结构,但希望所有页面都作为一个平面URL。例如

位于/cat1/subcat2/tulips.html的页面将提供给:

位于/cat5/roses.html的页面将提供给:

我需要所有的链接自动计算,并确保没有冲突

这在opencms中是可能的吗

谢谢


Assaf

我将大致概述如何处理这一问题:

您首先可以通过
()、taglib或java代码中的相应java API获得所有资源的列表,因为您仍然需要一些编码,然后在OpenCms根文件夹中创建类型为“external link”的新资源,指向您的目标;可能是用了

getCms().createResource(newFileName, templateFile.getTypeId());
或类似的方法(因为外部链接不是结构化内容)


您可以将此逻辑包装到java类中,并将其作为计划作业进行计划,我想这已经足够了,只要您不需要立即使用它,并且可以接受一些延迟。否则,您需要将其连接到发布流程中。

我将大致介绍如何实现这一点:

您首先可以通过
()、taglib或java代码中的相应java API获得所有资源的列表,因为您仍然需要一些编码,然后在OpenCms根文件夹中创建类型为“external link”的新资源,指向您的目标;可能是用了

getCms().createResource(newFileName, templateFile.getTypeId());
或类似的方法(因为外部链接不是结构化内容)

您可以将此逻辑包装到java类中,并将其作为计划作业进行计划,我想这已经足够了,只要您不需要立即使用它,并且可以接受一些延迟。否则,您需要将其连接到发布流中