On Fri, 13 Jan 2012 18:39:32 +0100 Benjamin POUSSIN <poussin@codelutin.com> wrote:
Salut,
Voila une config que j'utilise pour ca. En gros seules les proprietes de l'action decrite dans le type wikitty-json son serialise en json. Ici, je ne joue que sur l'include, mais on peut aussi utilier exclude, voir la doc pour plus de detail: http://struts.apache.org/2.1.8/docs/json-plugin.html
Tony me glisse dans l'oreille qu'il est trop dur pour topia d'ecrire les includes/excludes. L'idée serait donc de créer un helper json dans topia. Ca eviera a chaque projet de devoir creer des dto pour ce seul besoin. TopiaJsonHelper { /** * Retourne une version json de l'objet seules les propriétés simples * sont incluses les liens vers les autres entites ne sont ajoutées * que via l'id de l'autre entité */ toJson(TopiaEntity e):String /** * Retourne une version json de l'objet, seules les propriétés simples * sont incluses, mais aussi les autres entités que l'on peut atteindre * comme décrit dans les chaines entityField * @param entityField ex: si on est sur Employee et qu'on veut aussi * Company dans le json: * <pre> * String s = TopiaJsonHelper.toJson(e, "company"); * </pre> * Si la company a encore une entite adresse et qu'on le veut aussi * <pre> * String s = TopiaJsonHelper.toJson(e, "company", "company.address"); * </pre> * * TODO reflechir s'il est utile que entityField puisse etre une regex * et est-ce simple a implanter ? */ toJson(TopiaEntity e, String ... entityField): String /** * Retourne une version json de l'objet, seules les propriétés simples * sont incluses, mais aussi les autres entités que l'on peut atteindre * jusqu'au niveau depth * @param depth le niveau de serialisation 1=seulement e, 2=e et ses fils directs * 3=e, ses fils directs et les fils des fils, ... */ toJson(TopiaEntity e, int depth): String } -- Benjamin POUSSIN -------------------- tél: +33 (0) 2 40 50 29 28 email: poussin@codelutin.com http://www.codelutin.com