2010-05-24 7 views
7

Comment puis-je convertir un objet donné (de manière générique avec réflexion) en un joli HTML imprimable? Quelle bibliothèque prête à l'emploi recommandez-vous cela? J'ai besoin de support pour les objets imbriqués simples (tant qu'ils ne créent pas de boucles dans le graphe d'objets).Convertir n'importe quel objet en joli HTML en Java

J'ai essayé de le convertir en JSON, mais DefaultPrettyPrinter n'est pas compatible HTML.

Répondre

3

Vous pourriez relativement facilement écrire votre propre bibliothèque pour le faire. Here's some example code que vous pourriez modifier relativement facilement pour afficher html. Une autre option consiste à afficher le JSON dans une balise de code en html. Une dernière option consiste à utiliser ReflectionToStringBuilder dans apache commons lang et afficher à nouveau le résultat à l'intérieur d'une balise de code en html. Utiliser Apache Commons n'est probablement pas meilleur que le format json.

+0

Ce que je fais en ce moment est en effet afficher le JSON dans une balise de code. Pas la plus jolie du monde, mais ça marche. – ripper234

7

Vous pouvez créer un style XSLT pour la sortie XML de xstream sur votre objet.

0

peut être fait dans un processus en deux étapes:

1) Convertir objet à JSON en utilisant une bibliothèque de votre choix, par exemple jackson:

ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter(); 
String json = ow.writeValueAsString(object); 

2) Convertir chaîne JSON en HTML en utilisant une solution prête à l'emploi, comme json2html droit ou votre propre implémentation. Jetez un oeil à la démo visualizer: