Maison > Java > javaDidacticiel > Comment sérialiser uniquement un objet spécifique avec le plugin Struts2 JSON ?

Comment sérialiser uniquement un objet spécifique avec le plugin Struts2 JSON ?

Patricia Arquette
Libérer: 2024-12-29 09:25:10
original
241 Les gens l'ont consulté

How to Serialize Only a Specific Object with Struts2 JSON Plugin?

Plugin JSON Struts2 et objets racine

Le plugin JSON Struts2 sérialise généralement une action entière en JSON. Cependant, si vous avez uniquement besoin de sérialiser un objet spécifique, vous pouvez spécifier un objet racine à l'aide de l'attribut "root" dans votre configuration struts.xml.

Dans l'exemple fourni, l'erreur se produit car le plugin JSON est tenter de sérialiser l'intégralité de l'action Part, qui inclut une liste d'objets SearchResult. Cependant, le gestionnaire de réussite jQuery attend un objet JSON avec des clés spécifiques, telles que col1 et col2.

Solution utilisant l'objet racine

Pour résoudre ce problème, vous pouvez spécifier la liste des lignes comme objet racine dans votre fichier struts.xml :

<result type="json">
    <param name="root">rows</param>
</result>
Copier après la connexion

Cela demandera au plugin de sérialiser uniquement la liste des lignes, qui est l'objet que vous souhaitez accès dans votre gestionnaire de réussite jQuery.

Dans votre classe d'action, vous pouvez créer une méthode getter pour la liste de lignes :

public List<MyRow> getRows() {
    return this.rows; 
}
Copier après la connexion

Objet de valeur pour la sérialisation personnalisée

Pour définissez les colonnes dans votre objet JSON, vous pouvez créer un objet de valeur comme MyRow avec des getters et des setters pour les propriétés col1 et col2. Cela vous permet de personnaliser le format de sérialisation.

Rappel jQuery mis à jour

Avec l'objet racine spécifié, votre gestionnaire de réussite jQuery peut être mis à jour pour accéder aux données à l'aide de la fonction $.each :

var handledata = function(data) {
    $.each(data, function(index) {
        alert(data[index].col1);
        alert(data[index].col2);
    });
}
Copier après la connexion

En utilisant un objet racine, vous pouvez contrôler le processus de sérialisation et vous assurer que les données dont vous avez besoin sont disponibles dans votre succès jQuery gestionnaire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal