Liferay 如何在我们的CustomePortlet中只使用内置portlet的方法?

Liferay 如何在我们的CustomePortlet中只使用内置portlet的方法?,liferay,portlet,liferay-6,Liferay,Portlet,Liferay 6,我只想知道,liferay提供的任何工具中,我们只使用内置portlet的功能 例如,我有一些自定义portlet,我只想从我的自定义portlet中将一些文档添加到文档和媒体portlet的数据库表中 我不想使用它的GUI,只是我需要访问它的功能或说动作 如果我可以通过这种方式调用我自己的portlet中任何内置portlet的adduser方法 com.liferay.portal.service.UserLocalServiceUtil.addUser 那么我可以这样使用吗?以及如何使用?

我只想知道,liferay提供的任何工具中,我们只使用内置portlet的功能

例如,我有一些自定义portlet,我只想从我的自定义portlet中将一些文档添加到文档和媒体portlet的数据库表中

我不想使用它的GUI,只是我需要访问它的功能或说动作

如果我可以通过这种方式调用我自己的portlet中任何内置portlet的adduser方法 com.liferay.portal.service.UserLocalServiceUtil.addUser


那么我可以这样使用吗?以及如何使用?

我不确定我是否理解了这个问题,但是您当然可以在portlet中的任何位置使用许多提供的服务。 例如,如果要保存从页面上载的文件,可以使用以下方法:

protectedfileentry保存文件(字符串名称、文件文件、主题显示主题显示)引发PortalException、SystemException{
_log.debug(“保存新文件的请求”+名称);
if(file==null){
_调试(“文件内容为空..保存中止”);
返回null;
}
如果(!StringUtils.hasLength(名称)){
_debug(“文件名为null..save aborted”);
返回null;
}
long defaultRepoId=DLFolderConstants.getDataRepositoryId(主题显示.getScopeGroupId(),DLFolderConstants.DEFAULT\u父文件夹\u ID);
ServiceContext ServiceContext=新的ServiceContext();
serviceContext.setSignedIn(true);
serviceContext.setAddGroupPermissions(true);
serviceContext.setAddGuestPermissions(true);
Folder Folder=fetchFolder(defaultRepoId);
long folderId=(folder!=null?folder.getFolderId():DLFolderConstants.DEFAULT\u PARENT\u folder\u ID);
FileEntry entry=DLAppServiceUtil.addFileEntry(defaultRepoId,folderId,name,MimeTypesUtil.getContentType(文件),name,“,”,file,serviceContext);
_log.debug(“文件”+name+“保存成功”);
返回条目;
}
这就是你要找的吗? 以类似的方式,您可以添加多种类型的实体(用户、wiki节点、文档等)


请注意,
DLAppServiceUtil
是由Liferay提供的(6.1,由于文档库的更改,可能在6.0中有所不同)

谢谢你的回答。我想你理解了我的问题,要访问这个方法,我只需要在我的页面或操作类中导入相应的portlet。对吗?你只需要像其他java导入一样将DLAppServiceUtil类导入到你的页面中。如果您使用eclipse插件并创建了liferay项目,则该类必须位于您的类路径中(如果不是,您可以通过右键单击project->liferay菜单添加liferay方面)