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.
Struts 1.1 (et plus) supporte cette fonctionnalité.
Il permet de définir un ResourceBundle par défaut et des ResourceBundles personnalisés.
Chaque ResourceBundle personnalisé doit être identifié par une clé dans le fichier struts-config.xml :
Code xml : | Sélectionner tout |
1 2 | <message-resources parameter="application.resources"/> <message-resources parameter="foo.bar.custom.myCustomResource" key="Custom"/> |
Code xml : | Sélectionner tout |
<bean:write bundle="Custom" ...>
L'ensemble des messages est stocké dans un objet MessageResources disponible dans le scope request. Une fois cet objet récupéré, on accède à un message particulier via la méthode getMessage() avec en paramètres la locale et la clé du message à récupérer.
Un extrait de code à titre d'exemple :
Code java : | Sélectionner tout |
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 | /** * Return the message resources for localization */ private static MessageResources getMessageResources(HttpServletRequest request) { return (MessageResources) request.getAttribute(Globals.MESSAGES_KEY); } /** * Get the localized message */ public static String getLocalizedMessage(HttpServletRequest request, String messageKey) { MessageResources messageResources = getMessageResources(request); String localizedMessage = null; if(messageResources != null) { localizedMessage = messageResources.getMessage(request.getLocale(), messageKey); } if(localizedMessage == null) { localizedMessage = "N/A"; } return localizedMessage; } |
Code : | Sélectionner tout |
prompt.hello=Bonjour
Code java : | Sélectionner tout |
String msg = I18NHelper.getLocalizedMessage(request, "prompt.hello");
C'est un cas rarement utile, mais qui mérite d'être signalé.
Il peut être utilisé dans les cas suivants :
- nous avons notre propre ActionMapping, et que nous voulons faire un forward en passant par une action et sans traitement particulier ou sans répétition de traitement ;
- nous avons un autre moyen pour faire le traitement métier.
Code HTML : | Sélectionner tout |
1 2 3 4 | <action path="/BasicAction" type="org.apache.struts.actions.ForwardAction" parameter="/WEB-INF/jsp/resultats.jsp" /> |
À partir de la version 1.2, on peut faire directement :
Code HTML : | Sélectionner tout |
1 2 3 | <action path="/BasicAction" forward="/WEB-INF/jsp/resultats.jsp" /> |
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 çaLes 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 © 2024 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.