我正在关注Liferay In Action指令,使用Service Builder构建一个portlet,我是新手。我添加了addProduct方法。您可以看到以下代码:
public PRProduct addProduct(
long companyID, long groupID, String productName,
String serialNumber, long userID)
throws SystemException, PortalException{
PRProduct product = prProductPersistence.create(
counterLocalService.increment(PRProduct.class.getName()));
resourceLocalService.addResources(
companyID, groupID, userID, PRProduct.class.getName(),
product.getPrimaryKey(), false, true, true);
product.setProductName(productName);
product.setSerialNumber(serialNumber);
product.setCompanyId(companyID);
product.setGroupId(groupID);
return prProductPersistence.update(product, false);
}
当我从我的portlet类调用此方法时,我得到“没有与资源com.inkwell.internet.productregistration.model.PRProduct相关联的操作”。我不明白它说了什么,我不知道如何解决它。提前感谢任何帮助。
答案 0 :(得分:1)
罪魁祸首是resourceLocalService.addResources(....)
。如果您使用Liferay's Permission System,则只需将PRProduct
添加为资源。