7
votes

IncluseProperties dans le plug-in Json Struts2 ne fonctionnant pas

J'utilise struts2-json-plugin-2.2.3.jar . Et essayant de sérialiser filtrelist Propriété de la classe comme ceci:

strats.xml code xxx

classe d'action < / p> xxx

mais je ne peux pas obtenir cette propriété de la classe filaire.


2 commentaires

Pouvez-vous obtenir la valeur si le paramètre param includeproperties n'est pas utilisé?


Je prends la sérline tous les attributs de la classe d'action si les protections de paramètres sont utilisées


4 Réponses :


3
votes

Plugin Struts2-JSON Serrera vos attributs de tous les accidents dans la classe d'action.

C'est un problème que j'avais fait face à l'utilisation de Struts2-Json-Plugin. Même si le plugin-doc Afficher un exemples de travail pour IncluseProperties paramètre, il n'a jamais fonctionné pour moi et n'a jamais fait après tant d'essais et de googles. Donc, j'ai dû utiliser exclutproperties pour supprimer le contenu non requis d'être sérialisé, au lieu de spécifier ce que je veux sérialiser.


2 commentaires

Ohh ... est-ce tellement? C'est très mauvais, je pense que je dois donc utiliser ExclessProperties pour éliminer les contenus non requis d'être sérialisé, d'accord merci ... Je vais vérifier et vous contacter si cela fonctionnera. Merci encore ... Buddy


J'ai essayé avec JSON Plugin 2.3.8, includeproperties fonctionne juste bien. Si cela ne fonctionne pas dans votre projet, vous pouvez tracer le code source du plugin JSON (org.apache.struts2.json.jsonwriter) C'est assez facile.



7
votes

supposer que les champs de votre filtertype code> sont nommés id code> et desc code>

Essayez p>

<param name="includeProperties">
filterList\[\d+\]\.id,
filterList\[\d+\]\.desc
</param>


1 commentaires

Pas de problème, bien que cela fonctionne, je pense que c'est encombrant de répertorier toutes les propriétés ...: /



0
votes

Dans le cas où préférez la saveur d'annotation

@ParentPackage("json-default")
@Namespace("/")
@ResultPath(value = "/")
@Results({  @Result(name="firstDir",type="json"
,params = {"includeProperties","fileList\\[\\d+\\]"}
) })

fileList = new ArrayList<String>();
        for (File img : folder.listFiles()) {
            fileList.add(img.getName());
        }
return "firstDir"


0 commentaires

0
votes

Vous pouvez essayer ceci:

<param name="includeProperties">
    filterList.*
</param>


0 commentaires