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

JSF Java Discussion :

Comment avoir des fichiers accessibles depuis des backing beans et des pages jsp à la fois ?


Sujet :

JSF Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2011
    Messages : 29
    Points : 31
    Points
    31
    Par défaut Comment avoir des fichiers accessibles depuis des backing beans et des pages jsp à la fois ?
    Salut à tous,
    J'utilise JSP 2 et JSF 2 dans mon projet sous eclipse,
    Voilà, je suis obligé d'utiliser des fichiers temporaires dans mon application et qui peuvent être téléchargés si l'utilisateur le veut, sinon il seront effacés dés la sortie de la page (j'ai un le cycle: Upload -> traitement -> fichier output téléchargeable).
    Mon probléme est que quand je traite mes fichiers, le "./" dans les backing beans correspond au point de lancement de l'application qui est pour mon cas le répertoire d'eclipse (je travaille en local)
    alors je retrouve en utilisant ./tmp des fichiers totalement gérables via mes backing beans mais complétement inaccessibles depuis mes pages jsp (pour générer un lien de téléchargement suite au traitement)

    Alors la grande question, est ce qu'il y aurait une manière quelconque d'avoir le répertoire réel de WEB-INF ?

    Une solution que j'ai trouvée est de mettre mes fichiers prés des fichiers .class
    L'utilisation de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    URL url = MonBean.class.getResource("fichier.txt");
    me donne un chemin complet vers le fichier, dans un sous répertoire de mon application, mais le probléme c'est que mon application navigue dans des URL genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    http://localhost:8088/projet/pages/rep1/rep2/page.jsf
    et les répertoires des .class ne me sont pas accessibles pour pouvoir générer un lien du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    file:///localhost:8088/projet/repx/repy/fichier.txt
    Est ce que quelqu'un a une idée ou une proposition ??? Comment rendre mes fichiers accessibles à la fois par mes backing beans pur le nettoyage (suppression de fichiers temporaires) et depuis mes pages jsp pour le téléchargement ???
    Et merci d'avance

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2011
    Messages : 29
    Points : 31
    Points
    31
    Par défaut
    Bon, comme solution temporaire je prend le répertoire du fichier class ou je me trouve, je fais des retours vers l'arrière dans hiérarchie des dossiers jusqu'à arriver à la racine du projet et puis naviguer vers mon dossier tmp crée dans la racine pour être accessible depuis les pages jsp. ca marche mais c'est pas très propre comme solution je croix
    J'ai fini par utiliser ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    private String getRealRootPath() {
    		String root = ".";
    		URL baseUrl = CreateMassAddBackingBean.class.getResource("MonBean.class");
    		// fichier pointé : /nom_projet/WEB-INF/classes/com/société/projet/beans/param/backing/MonBean.class
    		File classFile = new File(baseUrl.getFile());
    		root = classFile.getAbsolutePath();
    		for (int i = 0 ; i < 9 ; i++) { // retourner de 9 niveaux
    			File tmpFile = new File(root);
    			root = tmpFile.getParent();
    		}
    		return root; // /nom_projet pointé
    	}

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 29/04/2015, 17h23
  2. Réponses: 11
    Dernier message: 28/06/2012, 12h23
  3. [AC-2007] Envoyer par Outlook des fichiers Excel depuis Access
    Par Bernard67 dans le forum VBA Access
    Réponses: 6
    Dernier message: 15/06/2012, 10h32
  4. [WPF] Comment avoir un fichier log des erreurs ?
    Par Flaburgan dans le forum C#
    Réponses: 5
    Dernier message: 29/04/2011, 17h36
  5. Rendre des fichiers accessibles QUE depuis Access
    Par SansSucre dans le forum Sécurité
    Réponses: 6
    Dernier message: 27/10/2006, 21h42

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