1

Service Builderを使用してポートレットを構築するLiferay In Actionの指示に従っていますが、これは初めてです。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);
}

ポートレット クラスからこのメソッドを呼び出すと、「リソース com.inkwell.internet.productregistration.model.PRProduct に関連付けられたアクションはありません」というメッセージが表示されます。それが何を言っているのか理解できず、それを解決する方法がわかりません。どんな助けでも事前に感謝します。

4

1 に答える 1

1

犯人はresourceLocalService.addResources(....)Liferay の Permission SystemPRProductを使用している場合にのみ、リソースとして追加する必要があります。

于 2012-10-28T04:21:32.647 に答える