10UITechnologies-simplifié [Mode de compatibilité]

publicité
JavaServer Faces (suite)
Il ne s'agit pas d'une balise HTML ou JSP, mais d'un objet sur lequel l'utilisateur clique pour
déclencher le comportement associé.
Pour interpréter les interactions utilisateur avec les composants de la logique métier, les
développeurs peuvent se servir de processus d'écoute (listeners). L'infrastructure JSF gère le reste.
Ainsi, le développement d'applications JSF revient davantage à concevoir une interface graphique
et à associer une logique métier à des composants qu'à programmer avec des API de bas niveau.
Par ailleurs, la technologie JSF permet de synchroniser les composants d'interface graphique
automatiquement avec des backing beans, objets java qui collectent les entrées utilisateur et
répondent aux événements. Elle peut être utilisée avec divers clients.
La spécification JSF intègre des fonctions de prise en charge des outils. La norme JSR-276
(Design Time Metadata for JSF Components, http://www.jcp.org/en/jsr/detail?id=276) a pour
objectif de garantir que les composants des différents fournisseurs s'affichent correctement dans
les environnements IDE qui prennent en charge JSF.
Etant donné que l'environnement JSF de composants d'interface graphique utilise des outils et
s'exécute au sein de conteneurs, il est très prisé des programmeurs de tous types et il est très
largement pris en charge dans l'industrie informatique.
Vous trouverez des informations supplémentaires sur JSF sur de nombreux sites Web, tels que
http://myfaces.apache.org et http://java.sun.com/javaee/javaserverfaces.
Oracle Fusion Middleware 11g : Développer des applications avec ADF I 10 - 7
Concepts clés de JSF
JSF fait appel à plusieurs concepts clés :
• Composant d'interface graphique : Bouton, table de données, onglet de menu.
• Contrôleur : Règles de navigation qui définissent la façon dont l'utilisateur progresse
dans l'application.
• Managed bean : Mode de spécification de la logique métier et des données. Dans les
applications basées sur des composants métier ADF, la logique métier et les données
sont généralement définies dans le modèle de composant métier ADF, et les propriétés
de composant dans la couche de liaison ADF.
• Backing bean : Mode de spécification des propriétés d'un composant.
• Langage d'expressions : Liaison des données et des méthodes à des composants
d'interface graphique. (Ce langage est présenté dans le chapitre "Lier des composants
d'interface graphique aux données".)
• Cycle de vie : Comportement de l'application lors de l'exécution.
Oracle Fusion Middleware 11g : Développer des applications avec ADF I 10 - 8
Définir la navigation à l'aide du contrôleur JSF
Dans JavaServer Faces (JSF), la navigation entre les pages d'application n'est pas codée en
dur dans le fichier. Elle est définie par un ensemble de règles définies de façon centralisée
dans le fichier faces-config.xml. Les règles de navigation déterminent la page qui
apparaît lorsqu'un utilisateur clique sur un composant de navigation, tel qu'un bouton ou un
hyperlien.
Une règle de navigation définit la navigation d'une page vers une ou plusieurs autres pages.
Chaque règle de navigation peut être associée à un ou plusieurs cas. Ces derniers
définissent où un utilisateur peut se rendre à partir d'une page donnée. Par exemple, si une
page contient des liens vers plusieurs autres pages dans l'application, vous pouvez créer
une seule règle de navigation pour cette page et un cas de navigation pour chacun des liens.
La règle elle-même permet de définir la navigation à partir des éléments suivants :
• Une page JSF précise.
• Toutes les pages dont les chemins suivent un modèle défini, par exemple, toutes les
pages incluses dans un même répertoire. On parle alors de règle basée sur un modèle.
• Toutes les pages d'une application Web Java EE. On parle alors de règle globale de
navigation.
Oracle Fusion Middleware 11g : Développer des applications avec ADF I 10 - 9
Navigation JSF : Exemple
Les managed beans, abordés ultérieurement dans ce chapitre, sont des classes Java gérées
dans le fichier de configuration faces-config.xml. Dans l'exemple ci-dessous, le
code de la classe de managed bean détermine la valeur qui est renvoyée, puis utilisée par le
cas de navigation.
public class MyBean {
public MyBean() {}
public String navAction()
{
if (<check some condition>) {
return "success";
}
else
{
return "failure";
}
}
}
Oracle Fusion Middleware 11g : Développer des applications avec ADF I 10 - 10
Utiliser les managed beans JSF
Les composants JSF sont un type de composant JavaBean. Ils sont également conçus pour
être utilisés avec des composants JavaBean d'un autre type, les managed beans. Souvent,
les managed beans gèrent les événements ou les manipulations de données pour lesquels il
est plus efficace d'effectuer un traitement frontal que de placer la logique dans un
composant métier. Toutefois, l'ensemble des traitements et données d'application doivent
être gérés par une logique située dans la couche métier de l'application.
Exemples d'utilisations typiques des managed beans :
• Ils permettent de stocker des valeurs utilisables par plusieurs pages.
• Ils permettent d'exécuter une méthode en réponse à une interaction utilisateur, comme
un clic sur un bouton.
• Ils permettent d'exécuter une méthode lorsqu'un événement d'interface graphique, tel
qu'un changement de valeur, a lieu.
Les backing beans sont un type de managed bean spécialisé qui affiche tout ou partie des
composants d'interface graphique d'une page en définissant des méthodes d'accès
(accessors). Lorsque vous créez une page JSF, la section Page Implementation de la boîte
de dialogue Create JSF Page vous permet d'indiquer si les composants d'interface
graphique doivent être affichés. Cette opération n'est nécessaire que si la page nécessite du
code spécial en vue de la manipulation de ses composants par programmation. Par
exemple, vous pouvez définir une condition contrôlant l'affichage d'un composant. Si vous
décidez d'afficher les composants d'un managed bean, JDeveloper ajoute automatiquement
des passerelles (stubs) pour les méthodes d'accès au fur et à mesure que vous ajoutez des
composants à la page. Les backing beans sont directement associés aux pages,
contrairement à d'autres types de managed bean auxquels plusieurs pages peuvent accéder
simultanément.
Oracle Fusion Middleware 11g : Développer des applications avec ADF I 10 - 11
Utiliser le contrôleur ADF
Le contrôleur ADF (ADF Controller) est un modèle de navigation et de gestion des états
amélioré basé sur JavaServer Faces. Il permet de décrire les flux de page de façon
déclarative. Les flux de page peuvent être encapsulés dans un flux de tâches, ce qui facilite
la réutilisation. Les flux de tâches représentent des activités, ainsi que les règles de flux de
contrôle qui définissent les transitions entre les activités. Utilisée seule, la navigation JSF
ne propose pas ce concept de flux de tâches.
Outre la navigation, le contrôleur ADF offre la possibilité d'appeler des méthodes, pour des
managed beans ou d'autres objets Java. Il prend en charge des tâches d'application telles
que la validation, la gestion des états, la sécurité et le contrôle déclaratif des transactions.
Le contrôleur ADF permet également de contrôler le comportement lorsque la navigation
résulte d'un clic sur le bouton Back.
Vous en apprendrez plus sur les fonctionnalités du contrôleur ADF dans des chapitres
ultérieurs.
Oracle Fusion Middleware 11g : Développer des applications avec ADF I 10 - 12
Téléchargement