IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
logo

FAQ StrutsConsultez toutes les FAQ

Nombre d'auteurs : 25, nombre de questions : 96, dernière mise à jour : 23 février 2015  Ajouter une question

 

Cette FAQ a été réalisée à partir des questions fréquemment posées sur les forums de http://www.developpez.com et de l'expérience personnelle des auteurs.

Nous tenons à souligner que cette FAQ ne garantit en aucun cas que les informations qu'elle propose sont correctes. Les auteurs font leur maximum, mais l'erreur est humaine. Cette FAQ ne prétend pas non plus être complète. Si vous trouvez une erreur, ou que vous souhaitez nous aider en devenant rédacteur, lisez ceci.

SommaireConfiguration de l'application StrutsLes Exceptions (3)
précédent sommaire suivant
 

Struts permet de gérer les exceptions de manière déclarative. Dans vos classes Action, si une exception est levée, elle sera propagée jusqu'à la superclasse Action, qui ira chercher si une exception est déclarée pour le mapping de ladite Action. Si ce n'est pas le cas, elle ira ensuite chercher si une exception est déclarée en tant qu'exception globale dans le fichier struts-config.xml.

La gestion déclarative des exceptions crée aussi un message de type ActionMessage (ActionError pour les premières versions de Struts) à partir de la clé de ResourceBundle indiquée. Ce message est alors utilisé par la page jsp spécifiée pour l'affichage d'un message d'erreur.

Le plus grand avantage de ce type de déclaration, outre le fait de centraliser les exceptions, est sans doute de permettre de ne pas polluer le code source des classes Action avec des blocs try/catch redondants dans plusieurs classes.

Pour déclarer une exception, il suffit de créer un nœud de type <exception> au fichier struts-config.xml :

Code xml : Sélectionner tout
1
2
3
4
5
<exception  
        key="error.message.key" 
        path="/page.jsp" 
        scope="request" 
        type="java.handled.exception.type" />

Mis à jour le 19 février 2005 RanDomX Ricky81

Pour déclarer une exception en tant qu'exception globale dans le fichier struts-config.xml, il faut ajouter un nœud <exception> au nœud <global-exceptions> :

Code xml : Sélectionner tout
1
2
3
4
5
6
7
<global-exceptions> 
  <exception  
        key="error.database.failure" 
        path="/dbfailure.jsp" 
        scope="request" 
        type="com.developpez.DatabaseException" /> 
</global-exceptions>

Si une exception de type DatabaseException est levée, le framework Struts redirigera la requête vers la page dbfailure.jsp et affichera dans celle-ci le message dont la clé est error.database.failure.

Mis à jour le 19 février 2005 RanDomX

Pour déclarer une exception en tant qu'exception spécifique à une action dans le fichier struts-config.xml, il faut ajouter un nœud <exception> au nœud <action> :

Code xml : Sélectionner tout
1
2
3
4
5
6
7
8
<action> 
  ... 
  <exception  
        key="error.database.failure" 
        path="/myactionerror.jsp" 
        scope="request" 
        type="com.developpez.DatabaseException" /> 
</action>

Si une exception de type DatabaseException est levée, le framework Struts redirigera la requête vers la page myactionerror.jsp et affichera dans celle-ci le message dont la clé est error.database.failure.

Mis à jour le 19 février 2005 RanDomX

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2022 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.