bonjour à tous,
je cherche à définir des constantes applicatives sur mon application web utilisant
struts2,
comment puis-je le faire ?
Version imprimable
bonjour à tous,
je cherche à définir des constantes applicatives sur mon application web utilisant
struts2,
comment puis-je le faire ?
Bonjour,
Si je comprends bien, tu veux définir des constantes que tu pourras utiliser partout dans ton application.
Pour mon application, j'ai utilisé un fichier .properties. C'est très simple à utiliser ! C'est de la forme :
(Tu n'as pas besoin de mettre de guillemets)Code:NomConstante=ValeurConstante
Pour récupérer les valeurs dans les classes Java, j'ai créé une petite classe utilitaire LectureProperties :
Ensuite pour tu n'as plus qu'à créer une instance de cette classe et à utiliser la fonction getProperties pour récupérer une des constantes (la variable "property" correspond au nom de ta constante).Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 import java.util.Properties; import java.io.InputStream; public class LectureProperties { private Properties properties; public LectureProperties() { try { properties = new Properties(); InputStream inputStream = this.getClass().getResourceAsStream("monFichier.properties"); properties.load(inputStream); inputStream.close(); } catch (Exception e) {} } public String getProperties(String property) { return properties.getProperty(property); } }
Si tu veux utiliser les constantes dans tes pages JSP également, tu peux les utiliser en ajoutant dans ton fichier struts.properties la ligne :
Et dans ta JSP, tu n'as plus qu'à utilser le code :Code:struts.custom.i18n.resources=monFichier.properties
J'espère avoir répondu à ta question. Si tu as besoin de d'autres précisions n'hésite pas à me demander j'essaierais d'y répondre ;)!Code:<s:text name="NomConstante"><s:text>
Si la problématique est d'utiliser des constantes dans une jsp, pourquoi pas.
Si c'est juste pouvoir se trimbaler des constantes dans des classes java, une interface qui définit ces constantes ferait très bien l'affaire.