
Spring Web Flow s’intègre à merveille à Spring MVC pour l’enchaînement des pages. Son rôle essentiel est de sortir la logique de navigation des contrôleurs.
Nous utilisons depuis quelques mois la version 1 de Spring Web Flow et c’est sur cette version que nous allons répondre à la question :
Comment générer un fichier Excel depuis une Action Spring Web Flow ?
Procédure
1 - Déclarer la vue d’export
1 2 3 4 5 | |
Il est important de remarquer que le view-state V_export n’a pas de propriété view. En effet, il suffit d’ignorer cette valeur car c’est le fichier Excel qui correspond à la vue.
2 - Action d’export
La création du fichier Excel peut être réalisé par différentes méthodes. Une des plus simples est d’utiliser POI pour le faire.
Ci-dessous la méthode export de la classe ExportAction :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
La méthode buildExcelDocument() se charge de créer le fichier Excel et utilise pour cela l’API de POI. Le détail n’est pas montré ici.
Deux choses à remarquer :
- Le nom du fichier est donnée dans le header “Content-Disposition” ;
- Le charset CP1252 est utilisé pour forcer Excel à lire correctement les caractères spéciaux comme les accents.
3 - Intégration à une vue existante
Exemple d’intégration à une vue existante :
1 2 3 4 | |
Conclusion
Nous avons vu comment exporter un fichier Excel à partir d’une vue classique Spring Web Flow. La méthode est exactement la même pour un export PDF ou de toute autre type.
Classe WebFlowUtils
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | |