JSF und Bild einlesen

Status
Nicht offen für weitere Antworten.
H

HeinerBauer

Gast
Hallo,

nach etlichen Versuchen muss ich hier leider die Frage stellen. Wie kann ich innherhalb einer JSF Anwendung in einer java Klasse ein Bild aus dem WebContent/icons Folder einlesen ?


Bsp packageStruktur:

src
- de
- common
- businesslogic
-datatransfer
-EineKlasse.java {
...
image = ImageIO.read(new File("er findet einfach das File nicht :-(, welchen korrekten String angeben ? ");
}






WebContent
-icons
diesesBildsollInEineKlasseJava_eingelesenwerden.jpg



Danke schonmal für Antworten oder Vorschläge
 

zordan

Mitglied
Du könntest mal den Pfadnamen ausgeben in dem dein Webserver anfängt zu suchen, wenn du einfach ein new File(".") machst.
Durch die Ausgabe kannst du dann schauen, welchen Pfad du wirklich zusammen bauen musst.

gruß
 
H

HeinerBauer

Gast
Hallo, also für

Code:
 File f = new File(".");
 System.out.println("path: "+f.getPath());

wird einfach nur der Punkt ausgegeben und für andere path ausgaben

C:\eclipse.3.3\eclipse


habs auch schon mit

Code:
ExternalContext context = FacesContext.getCurrentInstance().getExternalContext();
//    try {
//      URL test = context.getResource("/icons/image1.jpg");
////      System.out.println("getFile: "+test.getFile());
////      System.out.println("getPath: "+test.getPath());
//      
//      f = new File(test.getFile());
//      
//    
//    }catch(Exception ex){
//      System.out.println("Fehler:"+ex.toString());
//    }


probiert. es geht nicht ???:L [/code]
 
H

HeinerBauer

Gast
seufz,
hab eine lösung gefunden. weiß allerdings nicht ob die verwendung eines FacesContext in einer DTO Klasse gut ist ...


Code:
public class EineDTOKlasse {

   //...
  BufferedImage image;

   public void setzeBild () {
        ExternalContext context = FacesContext.getCurrentInstance().getExternalContext();
    try {
       //Webserver sucht im WebFolder WebContent
      URL test = context.getResource("/icons/dialog.jpg");  
  
      image = ImageIO.read(test);
      
    }catch(Exception ex){
      System.out.println("Fehler:"+ex.toString());
    }
   }
}
 

Sanix

Top Contributor
Meiner Meinung nach funktioniert es nur so. Wieso setzt du das Bild nicht ausserhalb? Also, so dass du dem setter schon ein BufferedImamge übergeben musst?
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben