我正在使用导入库中的代码(我无法修改)并尝试只调用项目的路径。这应该是这样做的命令:
Document.getSourceWorkspace().getPathById(id, Boolean, boolean)
因此,我使用名为contentId的DocumentId作为id,并使用“true”作为布尔值:
String contentIdStr = request.getParameter("contentId");
DocumentId contentId = workspace.createDocumentId(contentIdStr);
Document.getSourceWorkspace().getPathById(contentId, true, true);
getPathById是java.lang.String类型,所以我想要做的就是(现在)显示它:
out.println("Path: " + Document.getSourceWorkspace().getPathById(contentId, true, true));
但是当我尝试运行它时,我得到错误:无法从类型Document
中对非静态方法getSourceWorkspace()进行静态引用由于我在这里写的唯一代码是out.println,我不确定发生了什么。为什么我不能简单地输出它?那怎么是静态参考?我需要做些什么才能使其成为非静态的(请记住,我无法更改库中的任何内容或其他内容)?
我确实尝试创建一个字符串并将其分配给它,但这也不起作用......
String contentPath = Document.getSourceWorkspace().getPathById(contentId, 1, 1);
这(希望)可能很简单,但我根本不熟悉Java。我真的不知道语法应该是什么,所以也许我只是写错了?
感谢任何帮助,谢谢。
答案 0 :(得分:1)
我想你想这样说:
someDocument.getSourceWorkspace().getPathById(contentId, true, true);
而不是:
Document.getSourceWorkspace().getPathById(contentId, true, true);
换句话说:getSourceWorkspace()
是实例方法(不是static
方法),因此必须通过实例调用它Document
班。