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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement Web en Java Discussion :

Récupérer feuille de style externe css


Sujet :

Développement Web en Java

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 133
    Points : 101
    Points
    101
    Par défaut Récupérer feuille de style externe css
    salut à vous tous,

    je sollicite une fois de plus votre aide. voilà, mon travail consiste entre autre à parser les pages HTML. jusque là, tout va bien,j'utilise HTMLParser . J'arrive à extraire le style de la page si c'est une feuille de style interne(introduite avec la balise <style>).
    Seulement,mon problème c'est que je voudrais récupérer la feuille de style externe à la page HTML pour pouvoir l'analyser aussi. Le problème c'est que dans la balise link
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link rel="stylesheet" type="text/css" href="/style.css" />
    parfois on fait face à des chemins relatifs et parfois non. J'ai d'abord pensé à la classe java.net.URI
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
       foo://example.com:8042/over/there?name=ferret#nose
       \_/   \______________/\_________/ \_________/ \__/
        |           |            |            |        |
     scheme     authority       path        query   fragment
    mais ça n'a pas marché. je n'ai pas d'exception mais rien ne se passe. Je travaille sous apache tomcat.
    voilà le code que j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
     
    	for(NodeIterator nn=table2.elements();nn.hasMoreNodes();)
    	{	
    		lTag=(LinkTag)nn.nextNode();
    		try
    		{URI ui=new URI(lTag.getLink().toString());
    		URI ui_clt=new URI(url_pgclient);
     
    		String chaine_rel=ui_clt.getScheme()+"://"+ui_clt.getAuthority()+ui_clt.getPath()+"/"+ui;
     
    		String verif_extension=chaine_rel.substring(chaine_rel.lastIndexOf('.')+1);
    		String nom_fichier=chaine_rel.substring(chaine_rel.lastIndexOf('/')+1);
    		if(verif_extension.equalsIgnoreCase("css"))
    		{
                     try {
                    // Création du fichier :
                    FileOutputStream fos =  new FileOutputStream("C:/Program Files/Apache Software Foundation/Tomcat 5.5/webapps/FATMA/CLIENTS/"+log+"/"+nom_fichier);
     
                    // Ouverture des flux
                    URL url_style=ui_clt.toURL();
                    InputStream is=url_style.openStream();
     
                    // Lecture par segment de 0.5Mo 
                    byte buffer[]=new byte[512*1024];
                    int nbLecture;
     
                    while( (nbLecture = is.read(buffer)) != -1 ) {
                            fos.write(buffer, 0, nbLecture);
                    }
                    is.close();
                    fos.close(); 
                    } 
            catch( java.io.FileNotFoundException f ) 
            { } 
            catch( java.io.IOException e )
             { }  
    	}
     
    	}
     
    		catch(java.net.URISyntaxException use){		}
    		}

  2. #2
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 133
    Points : 101
    Points
    101
    Par défaut
    elle est longue l'explication que j'ai faite, ça en rebuterai plus d'un je pense.
    pour faire court, quelqu'un ne connaitrait-il pas une manière simple de récupérer la feuille de style externe rattachée à une page HTML. sachant que les liens pointant sur la dite feuille peuvent être des liens relatifs.
    Merci d'avance

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 133
    Points : 101
    Points
    101
    Par défaut
    j'ai trouvé la solution
    on laisse tomber HTMLParser pour Jericho HTML Parser et dire que ça fait plus de deux mois que je bosse avec le premier parser et qu'il ait vraiment limité comparé à jericho!
    bref la solution se trouve sur cette page
    je ne l'ai pas encore essayé mais ça m'a l'air pile poil ce que je veux faire.
    Merci qui? merci mon ami GOOGLE

  4. #4
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 133
    Points : 101
    Points
    101
    Par défaut
    d'une manière générale, si vous voulez construire l'url absolu à partir d'une url relative en Java il vous suffit d'utiliser la classe java.net.URL;
    vous utiliser le constructeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    URL url=new URL(URLcontext,specification);
    URLcontext c'est le lien absolu et specification c'est le lien relatif.

    j'espère que ça en aidera d'autres.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Feuille de style externe et PHP
    Par Jinkas dans le forum Mise en page CSS
    Réponses: 11
    Dernier message: 27/09/2011, 11h53
  2. className et feuille de style externe
    Par Mistic100 dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 08/01/2010, 16h46
  3. Associer une feuille de style externe à un code svg généré
    Par Bownobo dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 07/09/2009, 13h21
  4. [TinyMCE] Feuille de style externe
    Par anfalsh dans le forum Bibliothèques & Frameworks
    Réponses: 0
    Dernier message: 26/08/2009, 15h55
  5. link et feuille de style externe
    Par fasfousba dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 06/06/2008, 09h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo