我不确定我是否理解了这个问题,但您当然可以在您的 portlet 中的任何位置使用许多提供的服务。例如,如果您想保存从页面上传的文件,您可以使用以下内容:
protected FileEntry saveFile(String name, File file, ThemeDisplay themeDisplay) throws PortalException, SystemException{
_log.debug("request of saving new file " + name);
if (file == null){
_log.debug("file content is null.. save aborted");
return null;
}
if (!StringUtils.hasLength(name)){
_log.debug("file name is null.. save aborted");
return null;
}
long defaultRepoId = DLFolderConstants.getDataRepositoryId(themeDisplay.getScopeGroupId(), DLFolderConstants.DEFAULT_PARENT_FOLDER_ID);
ServiceContext serviceContext = new ServiceContext();
serviceContext.setSignedIn(true);
serviceContext.setAddGroupPermissions(true);
serviceContext.setAddGuestPermissions(true);
Folder folder = fetchFolder(defaultRepoId);
long folderId = (folder != null ? folder.getFolderId() : DLFolderConstants.DEFAULT_PARENT_FOLDER_ID);
FileEntry entry = DLAppServiceUtil.addFileEntry(defaultRepoId, folderId, name, MimeTypesUtil.getContentType(file), name, "", "", file, serviceContext);
_log.debug("file " + name + " saved successfully");
return entry;
}
这是你想要的?以类似的方式,您可以添加多种类型的实体(用户、wiki 节点、文档……)
请注意,DLAppServiceUtil
由 Liferay 提供(6.1,由于文档库的更改,可能在 6.0 中有所不同)