4 votes

Où placer les images dans gwt ?

J'essaie de charger une simple image dans GWT. Mais elle n'est jamais trouvée.

    import com.google.gwt.user.client.ui.Image;

    public class ImageTest implements EntryPoint {
        Image image = new Image("test.png");
    }

Résultat :

[WARN] 404 - GET /test.png (127.0.0.1) 1394 bytes
   Request headers
      Host: 127.0.0.1:8888
      User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0
      Accept: image/png,image/*;q=0.8,*/*;q=0.5
      Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
      Accept-Encoding: gzip, deflate
      Connection: keep-alive
      Referer: http://127.0.0.1:8888/ImageTest.html?gwt.codesvr=127.0.0.1:9997
   Response headers
      Content-Type: text/html; charset=iso-8859-1
      Content-Length: 1394

test.png est placé dans le même répertoire que le ImageTest classe. J'ai également essayé de le placer sous src/main/resources . Même erreur.

Où doit se trouver une image ?

8voto

Majid L Points 5467

Vous devez les mettre dans votre webapp (spécifié en tant que répertoire WAR dans les paramètres de GWT, près de votre index.html ).

Sinon, vous devez spécifier le chemin relatif comme suit resources/images/yourimg.png para src/main/webapp/resources/images/yourimage.png .

Une autre solution consisterait à utiliser le Client Bundle :

public interface AppBundle extends ClientBundle {

    @Source("image.png")
    ImageResource myImage();

    AppBundle INSTANCE = GWT.create(AppBundle.class);

}

Et ensuite dans votre code :

AppBundle.INSTANCE.myImage();

Dans ce cas, votre image doit être placée dans le même paquetage que votre classe AppBundle.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X