struts2でJSONデータを受け取る方法は?

Struts2では、JSONプラグインを使用してJSONデータを受信することができます。以下はJSONデータを受信する手順です。

  1. まず、プロジェクトにstruts2-json-pluginプラグインが導入されていることを確認してください。Mavenを使用するか、手動でダウンロードしてインポートすることができます。
  2. Struts2の設定ファイル(通常はstruts.xml)に以下の設定を追加してください。
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="false" />

<package name="json" extends="json-default">
    <action name="yourAction" class="com.yourpackage.YourAction">
        <result type="json" />
    </action>
</package>

上記の構成では、yourActionは指定されたアクションの名前し、com.yourpackage.YourActionは指定されたアクションのクラスを指します。

  1. Actionクラスに、JSONデータを受け取るための属性とそれに対応するgetterとsetterメソッドを追加してください。例:
private Map<String, Object> jsonData;

public Map<String, Object> getJsonData() {
    return jsonData;
}

public void setJsonData(Map<String, Object> jsonData) {
    this.jsonData = jsonData;
}
  1. @JSON を日本語で書き直すと、「@JSON」です。
@Action(value = "yourAction", results = { @Result(name = "success", type = "json") })
public String execute() {
    // 在这里处理接收到的JSON数据
    System.out.println(jsonData);

    return "success";
}

上記の例では、jsonData属性は受け取ったJSONデータをMapオブジェクトとして保存し、メソッドの実行中にそれをプリントアウトします。

  1. ActionへのリクエストにJSONデータを送信します。AJAXやPostmanなどのツールを使用してHTTPリクエストを送信し、JSONデータをリクエストボディとして送信できます。

以上の手順を完了すると、Struts2は自動的に受信したJSONデータを指定された属性タイプに変換し、実行メソッドで使用します。

bannerAds