Heim > Java > javaLernprogramm > Wie kann ich die Serialisierung des Struts2-JSON-Plugins für bestimmte Objekte anpassen?

Wie kann ich die Serialisierung des Struts2-JSON-Plugins für bestimmte Objekte anpassen?

Linda Hamilton
Freigeben: 2024-12-14 03:37:14
Original
220 Leute haben es durchsucht

How to Customize Struts2 JSON Plugin Serialization for Specific Objects?

Fehlerbehebung beim Struts2-JSON-Plugin

Funktionalität des Struts2-JSON-Plugins

Das Struts2-JSON-Plugin funktioniert durch Serialisierung der gesamten Aktion in JSON, mit Ausnahme vorübergehender Eigenschaften und dergleichen ohne Getter.

Serialisierung mit Root anpassen Objekt

Um nur ein bestimmtes Objekt zu serialisieren, können Sie das „root“-Attribut in struts.xml nutzen:

<result type="json">
    <param name="root">
        objectToBeSerialized
    </param>
</result>
Nach dem Login kopieren

Lösung für einen bestimmten Fall

Gegebene Datenstruktur mit mehreren Zeilen, dargestellt als „[col1, col2]“, können Sie Folgendes erstellen:

  • Ein Wertobjekt: MyRow mit Felder col1 und col2
  • Eine Aktionsklasse mit einer Liste von MyRow namens „rows“
  • Aktualisieren Sie die Struts.xml, um den „Stamm“ auf „rows“ zu setzen

Beispielimplementierung

Wertobjekt (MyRow.java):

public class MyRow implements Serializable {
    private String col1;
    private String col2;

    // Getters and setters omitted for brevity
}
Nach dem Login kopieren

Aktionsklasse (PartAction.java):

public class PartAction implements Serializable {
    private List<MyRow> rows;

    public List<MyRow> getRows() { return rows; }

    public String finder() {
        rows = new ArrayList<>();
        // Loop through search results and populate rows
        return Action.SUCCESS;
    }
}
Nach dem Login kopieren

Struts.xml:

<package name="default" namespace="/ajax" extends="json-default">
    <action name="finder" class="action.Part" method="finder">
        <result type="json">
            <param name="root">rows</param>
        </result>
    </action>
</package>
Nach dem Login kopieren

AJAX-Rückruf Funktion:

var handledata = function(data) {
    $.each(data, function(index) {
        alert(data[index].col1);
        alert(data[index].col2);
    });
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich die Serialisierung des Struts2-JSON-Plugins für bestimmte Objekte anpassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage