質問を理解できたかどうかわかりませんが、もちろん、提供されている多くのサービスをポートレットのどこでも使用できます。たとえば、ページからアップロードしたファイルを保存する場合は、次のようなものを使用できます。
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 ノード、ドキュメントなど) を追加できます。
Liferay によって提供されていることに注意してくださいDLAppServiceUtil
(6.1、ドキュメント ライブラリの変更により 6.0 では異なる可能性があります)。