我正在从事一个dotCMS项目,在这里我们正在编写HTML、Javascript和流速--但是没有Java (还没有必要)。
在dotCMS中,我需要遍历两个关系来列出与实例结构A相关的结构C的所有项,其中结构A与与结构D相关的结构C有关,我已经这样做了,并有了一个可以迭代的内容列表:http://pastebin.com/52uStcUA。
问题是我需要对这个列表进行分页,#pageContent()宏只接受一个查询,而不是一个列表。我查看了dotCMS_library.vm中#pageContent()宏的源代码,发现它调用了Java: ContentsWebAPI.pageContent() --后者只接受一个查询。
据我所见,这给我留下了两个选择:
1)以某种方式对#pageContent()宏进行查询,该宏表示传递关系的遍历。我知道如何编写一个关系(http://pastebin.com/cwLY0Av4)的查询,但不知道两个。
2)编写我自己的ContentsWebAPI.pageContent() Java实现,坦率地说,这听起来有点过火了(也许这只是沿着漫长而痛苦的道路迈出的第一步)。
那么,关于如何解决这个问题,还有其他的想法吗?
发布于 2010-09-08 15:24:00
在速度中编写所需的分页逻辑应该相当容易-- $list中的java.util.ArrayList只是一个java.util.ArrayList。
dotCMS中包含的一个有用工具是$listTool (参见:http://velocity.apache.org/tools/releases/velocity-tools-1.2/javadoc/org/apache/velocity/tools/generic/ListTool.html )
这可以给您列表中的特定项目。你只需要一些变量,比如$page,$numShow,等等.您可以在url中传递$page变量,并使用它获取子列表,等等.
https://stackoverflow.com/questions/3663674
复制相似问题