OmniFaces utilisation
Guide pratique : OmniFaces utilisation. Recherche parmi 300 000+ dissertationsPar Yoze • 17 Février 2020 • Guide pratique • 427 Mots (2 Pages) • 516 Vues
VTE : OmniFaces
Description
OmniFaces, qui a été développé par Bauke Scholtz et Arjan Tijms, est une libraire utilitaire open source pour le framework JavaServer Faces 2. A contrario d’autres librairies JSF 2 telles que PrimeFaces ou BootsFaces, OmniFaces ne contient pas composants graphiques qui ont pour but d’être esthétique.
En effet, OmniFaces se concentre sur la conception d’utilitaire pour répondre à des problèmes pratiques qui sont rencontrés fréquemment lors du développement d’une application JSF.
La première version d’OmniFaces (1.0) est sorti en 2012, la librairie a connu des mises à jour régulières pour s’arrêter à la dernière version actuelle, OmniFaces (3.0) en janvier 2018.
Utilisation
Comme dit précédemment, OmniFaces est principalement utilisé pour résoudre des cas pratiques et fonctionnels. En effet, la librairie redéfinit, par exemple, les components ; form, graphicImage (voir point 4), inputFile, outputLabel, etc…
Omnifaces redéfinit et propose également des converters tels que SelectItemsConverter ou encore des filters tels HttpFilter et bien plus encore.
Elle a également comme autre avantage d’être compatible avec l’utilisation d’autres librairies très connues telles que PrimeFaces ou encore OpenFaces.
Cependant, elle a pour désavantage le manque de composants graphiques esthétiques, ce qui l’oblige presque à utiliser au moins une seconde librairie pour pallier ce manque.
Alternatives
Plusieurs alternatives à OmniFaces sont possibles.
En effet, l’une d’elles, OpenXava, est particulièrement intéressante. Celle-ci reprend les fonctions principales d’OmniFaces tout en générant automatiquement l’interface graphique ce qui permettrait de combler le désavantage cité précédemment.
Cependant, cela implique d’autres désavantages tels qu’une faible flexibilité.
Implémentation (
)
Nous avons donc implémenté OmniFaces dans notre projet afin de nous faciliter grandement la tâche pour l’affichage d’images stockées en base de données au format BLOB.
Avant toute chose il faut ajouter la dépendance de la librairie au fichier de configuration pom.xml tel que : [pic 1]
Ensuite, il suffit d’ajouter l’URL de la libraire dans la balise HTML de la page ou l’on veut utiliser OmniFaces : [pic 2]
Après ces 2 petites configurations, les balises OmniFaces sont utilisables tels que :
[pic 3]
Attention : L’image doit être dans un format byte[] et la balise est obligée de récupérer ce tableau via un controller possédant la méta-data ‘@ApplicationScoped’.
Controller : PortraitControl
[pic 4]
Bean: PortraitGestionEJB
[pic 5]
DAO : PortraitDAO
[pic 6]
Et voilà le résultat :
[pic 7]
Nous avons bien des images affichées simplement via un tableau de byte. Le problème récurrent qui a donc été contourné ici et l’affichage d’une image.
En temps normal, nous aurions dû convertir le tableau de byte en un Object de type Image et ensuite seulement nous aurions pu l’afficher via une balise
Source : http://showcase.omnifaces.org/
...