Liferay 从数据库访问角色数据
在liferay中,我尝试使用API访问数据库中可用的角色数据 我正在使用com.liferay.portal.service.RoleLocalServiceUtil类访问角色的。 下面是我的代码:Liferay 从数据库访问角色数据,liferay,liferay-6,Liferay,Liferay 6,在liferay中,我尝试使用API访问数据库中可用的角色数据 我正在使用com.liferay.portal.service.RoleLocalServiceUtil类访问角色的。 下面是我的代码: Role role = RoleLocalServiceUtil.getRole(10138); ans = ans+role.getName()+","+role.getRoleId(); 数据库中存在Id为10138的角色 但上面抛出了以下异常: com.liferay.portal.ker
Role role = RoleLocalServiceUtil.getRole(10138);
ans = ans+role.getName()+","+role.getRoleId();
数据库中存在Id为10138的角色
但上面抛出了以下异常:
com.liferay.portal.kernel.bean.BeanLocator异常:尚未设置BeanLocator
com.liferay.portal.kernel.bean.PortalBeanLocatorUtil.locate(PortalBeanLocatorUtil.java:33)
com.liferay.portal.service.RoleLocalServiceUtil.getService(RoleLocalServiceUtil.java:446)
com.liferay.portal.service.RoleLocalServiceUtil.getRole(RoleLocalServiceUtil.java:166)
com.bl.retail.controller.KPIController.changeAccess(KPIController.java:70)
sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
invoke(NativeMethodAccessorImpl.java:39)
reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
如何设置BeanLocator?我在这上面花了这么多愚蠢的时间,请帮帮我
PS:以上代码来自同一台liferay服务器上运行的单独servlet。尝试添加ClassLoader ClassLoader=(ClassLoader)PortletBeanLocatorUtil.locate(ClpSerializer.SERVLET_CONTEXT_NAME,“portletClassLoader”)代码>
在你打电话给getter之前。
参见和以获取参考
希望对您有所帮助,请回答我自己的问题:
这是因为角色数据访问是从另一个Servlet完成的
当我在portlet中使用相同的代码时,一切都很好。谢谢。但我可以在哪个包中找到ClpSerializer类?我找不到它的类路径。嗯,也许你可以试试Classloader=PortalClassLoaderUtil.getClassLoader())代码>根据它应该是开箱即用的