在gwt中放置图像的位置?

时间:2012-12-18 19:57:43

标签: java gwt

我正在尝试在GWT中加载一个简单的图像。但它永远不会被发现。

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

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

结果:

[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.pngImageTest类位于同一目录中。 我还试着把它放在src/main/resources下面。同样的错误。

必须在哪里找到图片?

1 个答案:

答案 0 :(得分:9)

您需要将它们放在webapp目录中(在index.html文件附近的GWT设置中指定为WAR目录。)

否则,您需要为resources/images/yourimg.png指定src/main/webapp/resources/images/yourimage.png之类的相对路径。

另一种方法是使用Client Bundle:

public interface AppBundle extends ClientBundle {

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

    public static final AppBundle INSTANCE = GWT.create(AppBundle.class);

}

然后在你的代码中:

AppBundle.INSTANCE.myImage();

在这种情况下,您的图像应放在与AppBundle类相同的包中。