legacy-knowledge-base
公開されました Jun. 30, 2025

ログに「processActionメソッドが実装されていません」エラーが表示される

written-by

Daniel Couso

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

legacy-article

learn-legacy-article-disclaimer-text

問題

  • processAction method not implemented エラーがサーバーログに多数発生します:
ERROR [http-nio-8080-exec-1][PortletServlet:117] null

javax.portlet.PortletException: javax.portlet.PortletException: processAction method not implemented

at com.liferay.portal.kernel.portlet.LiferayPortlet.callActionMethod(LiferayPortlet.java:192) ~[portal-kernel.jar:?]

at com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet.callActionMethod(MVCPortlet.java:439) ~[portal-kernel.jar:?]

at com.liferay.portal.kernel.portlet.LiferayPortlet.processAction(LiferayPortlet.java:82) ~[portal-kernel.jar:?]

at com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet.processAction(MVCPortlet.java:256) ~[portal-kernel.jar:?]

...

Caused by: javax.portlet.PortletException: processAction method not implemented

at javax.portlet.GenericPortlet.processAction(GenericPortlet.java:223) ~[portlet.jar:3.0.1]

at com.liferay.portal.kernel.portlet.LiferayPortlet.callActionMethod(LiferayPortlet.java:187) ~[portal-kernel.jar:?]

... 191 more

Environment

  • Liferay DXP 7.1以降。

解決策

  • 原因としては、urlで使用されているアクション名が宣言されていない、または異なる名前であることが考えられます。
  • 例えば、こう定義すると:
    @ProcessAction(name="submitMyAction")
    ...
    submitMyActionURLで同じ名前を宣言する必要があります。
  • 他の例として、MVCActionCommandの中で、 mvc.command.nameというプロパティを指定した場合です:
    @Component(
    immediate = true,
    property = {
    "javax.portlet.name=" + JournalPortletKeys.JOURNAL,
    "mvc.command.name=/journal/add_folder"
    },
    service = MVCActionCommand.class
    )
    public class AddFolderMVCActionCommand extends BaseMVCActionCommand {

    @Override
    protected void doProcessAction(
    ActionRequest actionRequest, ActionResponse actionResponse)
    throws Exception {

    ...

    }

    ...

    }

    このプロパティの値は、URLパラメータMyPortlet_javax.portlet.actionと同じである必要があります。

did-this-article-resolve-your-issue

legacy-knowledge-base