magnoliacmsで実行されたカスタムアクションのノード名を取得します

アナ・サスティック

MyActionと呼ばれるmagnoliacmsでカスタムアクションを作成しました。アクションが実行されるページのノード名を取得したいのですが。代わりに、ページ名に空の文字列を取得しています。

これはコードです:

package ch.xxx.module.versioning;

import info.magnolia.ui.api.action.Action;
import info.magnolia.ui.api.action.ActionExecutionException;

import javax.jcr.LoginException;
import javax.jcr.RepositoryException;
import javax.jcr.Session;

import info.magnolia.context.Context;
import info.magnolia.context.MgnlContext;



public class MyAction implements Action  {


    @Override
    public void execute() throws ActionExecutionException {
        String nodeName= "null";

        Context context = MgnlContext.getInstance();
        Session session = null;
        try {
            session = context.getJCRSession("website");
        } catch (LoginException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (RepositoryException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        //Get root node
        try {
            nodeName = session.getRootNode().getName();
        } catch (RepositoryException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        System.out.println("Executed MyAction for node: " + nodeName);
    }
}
アナ・サスティック

ありがとう@ Ducaz035!

カスタムアクションで機能したソリューションは次のとおりです。

public class MyAction extends AbstractMultiItemAction<zzzVersioning>  {


public MyAction(zzzVersioning definition, JcrItemAdapter item, UiContext uiContext) {
                super(definition, item, uiContext);
                // TODO Auto-generated constructor stub
            }



@Override
public void execute() {
    try {
        System.out.println("Ran execute Action! " + getItems().get(0).getJcrItem().getName());
    } catch (RepositoryException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}



@Override
public void executeOnItem(JcrItemAdapter item) throws Exception {
    // TODO Auto-generated method stub

}



@Override
protected String getSuccessMessage() {
    // TODO Auto-generated method stub
    return null;
}



@Override
protected String getFailureMessage() {
    // TODO Auto-generated method stub
    return null;
}

}

カスタムアクション定義のコードは次のとおりです。

public class zzzVersioning extends CommandActionDefinition {

    public zzzVersioning() {
        this.setImplementationClass(MyAction.class);
    }
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

タスクを実行できません:アイテムのダウンロード中にタスクがすでに実行されました

分類Dev

パイプラインのダウンストリームジョブでアップストリームジョブが実行されたノード名を取得するにはどうすればよいですか?

分類Dev

iOSを更新した後、フレームワークを使用するすべてのアプリケーションはデバイスで実行を停止しましたが、シミュレーターで実行されます

分類Dev

iOSを更新した後、フレームワークを使用するすべてのアプリケーションはデバイスで実行を停止しましたが、シミュレーターで実行されます

分類Dev

テキストセクションが長すぎる場合に3枚のアクションカードの下で実行される動的に生成されたヒーローバナーテキスト、重複を防ぐためにスタイリングを追加しようとしています

分類Dev

提供された条件で実行するWixカスタムアクション-機能しない

分類Dev

カスタマイズされたJFileChooserで、JComboBoxから1つを選択し、その特定のアクションを実行します

分類Dev

Tomcatのカスタムクラスローダーによってロードされたクラスからアノテーションを取得できません

分類Dev

複数のアプリケーションを備えたワーカーで実行されている JVM の数をスパークします

分類Dev

blazorでsyncfusionを使用してカスタムアクション列で選択された行を取得するにはどうすればよいですか?

分類Dev

PythonノートブックからGCPで実行されているスタンドアロンのSparkクラスターにアプリケーションを送信します

分類Dev

rasaでカスタムアクションを実行中にエラーが発生しました

分類Dev

押されたフォームボタンをスキャンしてアクションを実行する

分類Dev

Sourcetreeカスタムアクション-posix_spawnを実行できませんでした:エラー8

分類Dev

すでにリリースされているMSIのアップグレード中のカスタムアクションを抑制します

分類Dev

asp.netコアで認証されたユーザーを要求しますが、一部のアクションではカスタムポリシーを要求しますカスタムポリシーを要求します

分類Dev

実行中のスレッドを中断して、JButtonのクリックによってトリガーされたアクションを実行します

分類Dev

Java-指定されたアノテーションを使用してクラスメソッドを実行します

分類Dev

テンプレートを使用したカスタムAngularディレクティブはノードで実行されません

分類Dev

Visual Studioインストーラー、ファイルがコピーされる前にカスタムアクションを実行します

分類Dev

AutoMLバッチ予測を使用して作成された長時間実行オペレーションにアクセスするには、オペレーション名とサービスアカウントの認証情報のみが必要です

分類Dev

インジェクションされたDLLのDllMain内でコードを実行すると、インジェクションがタイムアウトします

分類Dev

Installshield16で作成されたインストール中にカスタムアクションの実行に失敗する

分類Dev

SpriteKit-前のアクションが終了した後に実行されるノードにアクションを追加する方法

分類Dev

Kubernetesで実行されているすべてのポッドからgolangクライアントライブラリを使用してキャプチャされたPrometheusでカスタムアプリケーションメトリックを表示する方法

分類Dev

クラスター化されたアノテーションを取得する

分類Dev

SwiftEntryKitでエントリのボタンが押された後にアクションを実行します

分類Dev

マルチプロセッシングで実行されたタスクの総数をカウントします。実行中にプールします。

分類Dev

指定されたアクションアドレスを使用してWordpressでカスタムログインウィジェットを作成します

Related 関連記事

  1. 1

    タスクを実行できません:アイテムのダウンロード中にタスクがすでに実行されました

  2. 2

    パイプラインのダウンストリームジョブでアップストリームジョブが実行されたノード名を取得するにはどうすればよいですか?

  3. 3

    iOSを更新した後、フレームワークを使用するすべてのアプリケーションはデバイスで実行を停止しましたが、シミュレーターで実行されます

  4. 4

    iOSを更新した後、フレームワークを使用するすべてのアプリケーションはデバイスで実行を停止しましたが、シミュレーターで実行されます

  5. 5

    テキストセクションが長すぎる場合に3枚のアクションカードの下で実行される動的に生成されたヒーローバナーテキスト、重複を防ぐためにスタイリングを追加しようとしています

  6. 6

    提供された条件で実行するWixカスタムアクション-機能しない

  7. 7

    カスタマイズされたJFileChooserで、JComboBoxから1つを選択し、その特定のアクションを実行します

  8. 8

    Tomcatのカスタムクラスローダーによってロードされたクラスからアノテーションを取得できません

  9. 9

    複数のアプリケーションを備えたワーカーで実行されている JVM の数をスパークします

  10. 10

    blazorでsyncfusionを使用してカスタムアクション列で選択された行を取得するにはどうすればよいですか?

  11. 11

    PythonノートブックからGCPで実行されているスタンドアロンのSparkクラスターにアプリケーションを送信します

  12. 12

    rasaでカスタムアクションを実行中にエラーが発生しました

  13. 13

    押されたフォームボタンをスキャンしてアクションを実行する

  14. 14

    Sourcetreeカスタムアクション-posix_spawnを実行できませんでした:エラー8

  15. 15

    すでにリリースされているMSIのアップグレード中のカスタムアクションを抑制します

  16. 16

    asp.netコアで認証されたユーザーを要求しますが、一部のアクションではカスタムポリシーを要求しますカスタムポリシーを要求します

  17. 17

    実行中のスレッドを中断して、JButtonのクリックによってトリガーされたアクションを実行します

  18. 18

    Java-指定されたアノテーションを使用してクラスメソッドを実行します

  19. 19

    テンプレートを使用したカスタムAngularディレクティブはノードで実行されません

  20. 20

    Visual Studioインストーラー、ファイルがコピーされる前にカスタムアクションを実行します

  21. 21

    AutoMLバッチ予測を使用して作成された長時間実行オペレーションにアクセスするには、オペレーション名とサービスアカウントの認証情報のみが必要です

  22. 22

    インジェクションされたDLLのDllMain内でコードを実行すると、インジェクションがタイムアウトします

  23. 23

    Installshield16で作成されたインストール中にカスタムアクションの実行に失敗する

  24. 24

    SpriteKit-前のアクションが終了した後に実行されるノードにアクションを追加する方法

  25. 25

    Kubernetesで実行されているすべてのポッドからgolangクライアントライブラリを使用してキャプチャされたPrometheusでカスタムアプリケーションメトリックを表示する方法

  26. 26

    クラスター化されたアノテーションを取得する

  27. 27

    SwiftEntryKitでエントリのボタンが押された後にアクションを実行します

  28. 28

    マルチプロセッシングで実行されたタスクの総数をカウントします。実行中にプールします。

  29. 29

    指定されたアクションアドレスを使用してWordpressでカスタムログインウィジェットを作成します

ホットタグ

アーカイブ