Lotus notes DXLExporter没有在Xpage中导出设计元素?

Lotus notes DXLExporter没有在Xpage中导出设计元素?,lotus-notes,xpages,lotusscript,Lotus Notes,Xpages,Lotusscript,**它不会导出设计元素。但在DXL中,它有documentcollections.*您正在创建一个名为nc的NotesNoteCollection,但最终导出了db。因此,将stream.writeText(exporter.exportDxl(db))更改为: **I am using the following code,** var db=session.getCurrentDatabase() var nc:NotesNoteCollection=db.cre

**它不会导出设计元素。但在DXL中,它有documentcollections.*

您正在创建一个名为nc的NotesNoteCollection,但最终导出了db。因此,将stream.writeText(exporter.exportDxl(db))更改为:

    **I am using the following code,**


    var db=session.getCurrentDatabase()
    var nc:NotesNoteCollection=db.createNoteCollection(true);
    nc.selectAllDesignElements(true);
    nc.buildCollection()
    var filename = "d:\\dxl\\xpDXL.dxl";
    var stream:NotesStream=session.createStream()
    if (stream.open(filename)) {
            stream.truncate(); // Any existing file is erased
            var exporter:NotesDxlExporter = session.createDxlExporter();
            stream.writeText(exporter.exportDxl(db))
    }

您正在创建一个名为nc的NotesNoteCollection,但最终导出了db。因此,将stream.writeText(exporter.exportDxl(db))更改为:

    **I am using the following code,**


    var db=session.getCurrentDatabase()
    var nc:NotesNoteCollection=db.createNoteCollection(true);
    nc.selectAllDesignElements(true);
    nc.buildCollection()
    var filename = "d:\\dxl\\xpDXL.dxl";
    var stream:NotesStream=session.createStream()
    if (stream.open(filename)) {
            stream.truncate(); // Any existing file is erased
            var exporter:NotesDxlExporter = session.createDxlExporter();
            stream.writeText(exporter.exportDxl(db))
    }

也许这是一个安全问题:您至少需要对数据库进行设计器访问,才能通过XPage获得DXL导出中的设计元素

甚至公共访问元素也不会导出

希望这有帮助

Sven

这可能是一个安全问题:您至少需要对数据库进行设计器访问,才能通过XPage获得DXL导出中的设计元素

甚至公共访问元素也不会导出

希望这有帮助

Sven

DXL中的XPages设计元素使用起来很麻烦。最好使用OpenNTF中的导入/导出插件。它使用EclipseVFS查找本机格式的数据。所以图像就是图像,表单就是DXL,XPages就是它们的源。该插件包含源代码,因此您可以看到它是如何完成的。 另一个选项是将NSF链接到onDisk项目(版本控制所需的步骤),只需查看目录内部即可。
如果您想在设计器之外处理XPages设计元素,那么XPages设计元素就有点问题:如果您将源代码注入到其他地方,那么您就缺少已编译的Java。如果您正在查看文档或变体管理设计器,那么VFS(虚拟文件系统,Java接口IResource)是我们的最佳选择

DXL中的XPages设计元素是一个令人头痛的问题。最好使用OpenNTF中的导入/导出插件。它使用EclipseVFS查找本机格式的数据。所以图像就是图像,表单就是DXL,XPages就是它们的源。该插件包含源代码,因此您可以看到它是如何完成的。 另一个选项是将NSF链接到onDisk项目(版本控制所需的步骤),只需查看目录内部即可。
如果您想在设计器之外处理XPages设计元素,那么XPages设计元素就有点问题:如果您将源代码注入到其他地方,那么您就缺少已编译的Java。如果您正在查看文档或变体管理设计器,VFS(虚拟文件系统,Java接口IResource)是我们的最佳选择

感谢您的快速响应,我也尝试过。但结果是一样的。谢谢你的快速反应,我也试过了。但结果是一样的,但问题是我已经在LotusScript代理中编写了一个DXL代码,并且输出良好。但在XPageButton事件中,它不会。您是否登录到XPages应用程序?或者以匿名方式在本地访问它?我只使用我的用户名登录。我是这个数据库的管理员。主要是我创建了这个数据库\ACL的“最大Internet名称和密码”设置是否设置为“管理器”或“设计器”?通常设置为“编辑器”。。。如果您在Notes客户端测试您的XPage呢?很好的一点,谢谢您将其设置为manager后,输出仍然保持不变,但问题是我已经在Lotus script agent中编写了一个DXL代码,并且输出良好。但在XPageButton事件中,它不会。您是否登录到XPages应用程序?或者以匿名方式在本地访问它?我只使用我的用户名登录。我是这个数据库的管理员。主要是我创建了这个数据库\ACL的“最大Internet名称和密码”设置是否设置为“管理器”或“设计器”?通常设置为“编辑器”。。。如果您在Notes客户机中测试您的XPage呢?很好的一点,谢谢您将其设置为manager后,输出仍然相同您的问题似乎被截断了。我建议对其进行编辑,以确保所有相关信息都正确显示。您的问题似乎被截断了。我建议编辑它以确保所有相关信息都正确显示。谢谢,但我可以使用getFirstNoteID()获取设计元素。。。比如--Default--ForLearn--WEB-INF/xsp.properties--.classpath--build.properties--plugin.xml--.project--vwFirst--xpLearnJava.xsp--WEB-INF/faces-config.xml--xpExcel.xsp--等等,抱歉,它扩展到了一页。但是我找不到发生这种情况的确切原因。谢谢,但是我可以使用getFirstNoteID()获取设计元素。。。比如--Default--ForLearn--WEB-INF/xsp.properties--.classpath--build.properties--plugin.xml--.project--vwFirst--xpLearnJava.xsp--WEB-INF/faces-config.xml--xpExcel.xsp--等等,抱歉,它扩展到了一页。但我找不到发生这种情况的确切原因。