Date de création : | 27 Novembre 2003 | |
Dernière modification : | 27 Novembre 2003 | |
Diffusion : | internet |
2ème Cas de fichier de configuration XML : |
<?xml version="1.0" ?> |
Dans le 2ème cas du fichier de configuration, seule la méthode
config() change, car la méthode addCallParam() ne doit pas aller chercher
les informations de la même façon. Elle doit récupérer
la valeur des attributs d'une balise et non pas comme dans l'exemple précédent
la valeur de la balise.
AddCallParam(java.lang.String nom_de_la_balise, int index_du_paramètre_pour_addRoot,
java.lang.String nom_attribut)
Cela se traduit comme suit :
/**
*
* @throws IOException
* @throws JspException
*/
private config() throws IOException, JspException {
try {
Class requestingClass = this.getClass();
//Emplacement du fichier de config à parser
à partir du répertoire classes
URL resourceURL = requestingClass.getResource("/config/cas.xml");
if (resourceURL == null){
throw new JspException ("cas.xml does
not exist ");
}
//Création d'une instance Digester
Digester dig = new Digester();
//On rend l'objet disponible à la
manipulation en le mettant en haut de la pile
dig.push(this);
//Chaque fois que "cas" sera
lu à la lecture du fichier de config on fera appelle à la méthode
addRoot() avec 4 paramètres
dig.addCallMethod("cas","addRoot",4);
//Premier paramètre de la méthode
addRoot()
dig.addCallParam("cas",0,"hostname");
//Deuxième paramètre de la
méthode addRoot()
dig.addCallParam("cas",1,"port");
//Troisième paramètre de
la méthode addRoot()
dig.addCallParam("cas",2,"baseUri");
//Quatrième paramètre de
la méthode addRoot()
dig.addCallParam("cas",3,"version");
//On parse le fichier dont le chemin est
passé en paramètre
dig.parse(new InputSource(resourceURL.toExternalForm()));
}
catch (IOException e) {
throw new JspException("Impossible to load file cas.xml
: "+e);
}
catch (SAXException e) {
throw new JspException(e);
}
}
Création : 27 Nov.2003 - Sébastien Gougeon (Université de Rennes 1) | |
Modifications : |