suchen
HeimJavajavaLernprogrammWie serialisiert das Struts2 JSON-Plugin Datenstrukturen für AJAX-Aufrufe?

How Does the Struts2 JSON Plugin Serialize Data Structures for AJAX Calls?

Struts2-JSON-Plugin: Seine Funktionen verstehen

Das Struts2-JSON-Plugin verfügt über eine einzigartige Funktionsweise. Es übernimmt die Serialisierung von Aktionen in JSON, jedoch nur für bestimmte Elemente:

  • Nicht-transiente Eigenschaften
  • Eigenschaften mit Gettern

Wenn Sie möchten Um nur bestimmte Objekte zu serialisieren, bietet das Plugin eine Lösung: das „root“-Attribut. Mit diesem Attribut können Sie das zu serialisierende Stammobjekt mithilfe eines OGNL-Ausdrucks angeben.

<result type="json">
    <param name="root">
        objectToBeSerialized
    
</result>

Die Action-Klasse sollte Folgendes enthalten:

private CustomObject objectToBeSerialized;

public CustomObject getObjectToBeSerialized() {
    return this.objectToBeSerialized;
}

CustomObject kann verschiedene Datentypen darstellen. wie Primitive, Strings, Arrays usw.

Mit dieser Methode können Sie SUCCESS und ERROR wie übliche AJAX Struts2-Aktionen zurückgeben ohne Kompromisse bei den Rahmenkonventionen einzugehen. Darüber hinaus können Sie direkt über die Rückruffunktion des AJAX-jQuery-Aufrufs auf das serialisierte JSON-Objekt zugreifen.

Ansprechen Ihres Szenarios

Angenommen, Ihre Datenstruktur folgt dem Muster:

row1 [col1, col2], 
row2 [col1, col2], 
rowN [col1, col2]

Sie könnten Folgendes einsetzen Ansatz:

1. Erstellen Sie eine Liste benutzerdefinierter Objekte

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

    // Getters
}

2. Ändern Sie die Aktionsklasse

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

    // Getter
    public  List<myrow> getRows() { 
        return this.rows; 
    } 

    public String finder() {
        rows = new ArrayList<myrow>();

        // Populate the list with data
    }
} </myrow></myrow></myrow>

3. Passen Sie Struts.xml

<result type="json">
    <param name="root">
        rows
    
</result>

4 an. AJAX-Rückruffunktion

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

Mit diesem Ansatz können Sie Ihre gewünschte Datenstruktur serialisieren und sie innerhalb Ihrer AJAX-Rückruffunktion zugänglich machen.

Das obige ist der detaillierte Inhalt vonWie serialisiert das Struts2 JSON-Plugin Datenstrukturen für AJAX-Aufrufe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
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
Docker nginx-Bereitstellungs-Front-End-Projekt: Wie beheben Sie leere Seiten und Proxy-Ausnahmen?Docker nginx-Bereitstellungs-Front-End-Projekt: Wie beheben Sie leere Seiten und Proxy-Ausnahmen?Apr 19, 2025 pm 05:15 PM

Leere Seiten und Proxy-Ausnahmen, die bei der Bereitstellung von Front-End-Projekten mit Docker nginx auftreten. Wenn Sie Docker und Nginx verwenden, um Front-End- und Back-End-Projekte bereitzustellen, stoßen Sie häufig auf einige ...

Spring Boot 3 -Projekt: Wie werden externe Konfigurationsdateien für Tomcat ordnungsgemäß bereitgestellt?Spring Boot 3 -Projekt: Wie werden externe Konfigurationsdateien für Tomcat ordnungsgemäß bereitgestellt?Apr 19, 2025 pm 05:12 PM

Bereitstellungsmethode für externe Konfigurationsdateien des Springboot3 -Projekts in Springboot3 -Projektentwicklung müssen wir häufig die Konfigurationsdateianwendung konfigurieren. Properties ...

Wie konvertieren Sie die .htaccess -Konfiguration von Apache in die Konfiguration von Nginx?Wie konvertieren Sie die .htaccess -Konfiguration von Apache in die Konfiguration von Nginx?Apr 19, 2025 pm 05:09 PM

Konfigurationsmethode zum Konvertieren von Apache .htaccess -Konfiguration in Nginx in der Projektentwicklung, Sie stoßen häufig auf Situationen, in denen Sie Ihren Server von Apache in Nginx migrieren müssen. AP ...

Ist es in kleinen Javaweb-Anwendungen möglich, dass die Dao-Schicht alle Personalentitätsklassen zwischenspeichert?Ist es in kleinen Javaweb-Anwendungen möglich, dass die Dao-Schicht alle Personalentitätsklassen zwischenspeichert?Apr 19, 2025 pm 05:06 PM

Javaweb-Anwendungsleistungoptimierung: Eine Untersuchung der Machbarkeit der DAO-Ebene der Entitätsklasse auf der Entwicklung von Javaweb-Anwendungen. Die Leistungsoptimierung stand immer im Mittelpunkt der Entwickler. Entweder...

Was ist der Grund für das doppelte Integral ∫∫ydσ = 0 in polaren Koordinaten?Was ist der Grund für das doppelte Integral ∫∫ydσ = 0 in polaren Koordinaten?Apr 19, 2025 pm 05:03 PM

Lösen von doppelten Integralen im Polarkoordinatensystem In diesem Artikel wird eine Frage zu doppelten Integralen unter polaren Koordinaten ausführlich beantwortet. Die Frage gibt einen Punktbereich und ist integriert ...

Wie können Sie die Einzigartigkeit ausgehender Skriptaufgaben unter hoher Genauigkeit sicherstellen und ihren Betriebsstatus in Echtzeit überwachen?Wie können Sie die Einzigartigkeit ausgehender Skriptaufgaben unter hoher Genauigkeit sicherstellen und ihren Betriebsstatus in Echtzeit überwachen?Apr 19, 2025 pm 05:00 PM

Wie kann man die Einzigartigkeit von Skriptaufgaben sicherstellen und ihren Betriebsstatus in einer hohen Parallelitätsumgebung überwachen? In diesem Artikel wird untersucht, wie Sie einen ausgehenden Fuß in einer Clusterumgebung sicherstellen können ...

Wie setzen Unterklassen private Eigenschaften durch Erben der SetName -Methode der übergeordneten Klasse?Wie setzen Unterklassen private Eigenschaften durch Erben der SetName -Methode der übergeordneten Klasse?Apr 19, 2025 pm 04:57 PM

In Bezug auf die Festlegung der SetName -Methode der übergeordneten Klasse. In der Programmierung, insbesondere in objektorientierten Programmiersprachen wie Java, Unterklassen und ...

Wie löste ich das Problem des Fehlers des Benutzernamens und des Kennwortauthentifizierungsfehlers, wenn Sie mit Eclipse Paho eine Verbindung zu lokalem EMQX herstellen?Wie löste ich das Problem des Fehlers des Benutzernamens und des Kennwortauthentifizierungsfehlers, wenn Sie mit Eclipse Paho eine Verbindung zu lokalem EMQX herstellen?Apr 19, 2025 pm 04:54 PM

Wie löste ich das Problem des Fehlers des Benutzernamens und des Kennwortauthentifizierungsfehlers bei der Verbindung zu lokalem EMQX mit MQTTasyncClient von EclipSepaho? Verwenden Sie Java und Eclipse ...

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

SecLists

SecLists

SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

SublimeText3 Englische Version

SublimeText3 Englische Version

Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

PHPStorm Mac-Version

PHPStorm Mac-Version

Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool