1

Liferay 6.2 を使用しています。User-My Account ページにフィールドを追加するためのフックを作成しました。これらのフィールドのキーを押すと、ajax 呼び出しを呼び出す必要があります。私はライフリーサービスのオーバーライドを読み、同じアプローチに従おうとしています:これは、ユーザーを新しいフィールドで更新するために機能します。

ただし、ajax 呼び出しの場合、サーブ リソース メソッドをどこかでオーバーライドする必要があります。しかし、正確に serve resource() を呼び出す場所がわかりません。

私のアプローチは次のとおりです。

details.jsp で

<portlet:resourceURL var ="userProfileURL"></portlet:resourceURL>

js の場合: AUI io リクエストを使用して ajax を呼び出します: モードをパラメーターとして渡して、それが serveResource 内にあるかどうかを確認します。

しかし、リソースを提供する前に、userProfileURL が定義されていないというエラーが表示されます。それに必要なインポートもjspに含めました。

UserServiceWrapper を拡張する userServiceImpl クラスで、serveResource をオーバーライドしようとしました。

public void serveResource(ResourceRequest resourceRequest, ResourceResponse  resourceResponse) throws PortletException {

         String mode = ParamUtil.getString(resourceRequest,"mode")
         if(mode.equals("getData")
         {
           // do needed processings & return data
         }

        else {
          //  super.serveResource(resourceRequest, resourceResponse); 
        }

しかし、次のようなエラーが表示されます。

メソッド serveResource(ResourceRequest, ResourceResponse) はタイプ UserServiceWrapper に対して未定義です

ユーザー アカウント ページのフックで ajax 呼び出しを行う方法はありますか、それとも間違った場所で上書きしていますか?

4

0 に答える 0