0

このコードはサーブレットで機能します。

PicasawebService service = new PicasawebService("Picasa test");
PicasawebClient picasaClient = new PicasawebClient(service);
List<AlbumEntry> albums = picasaClient.getAlbums("cgcmh1@gmail.com");
for(AlbumEntry album: albums){
    resp.getWriter().println(album.getTitle().getPlainText());
    List<PhotoEntry> photos = picasaClient.getPhotos(album);
    req.setAttribute("photos", photos);
}

そこで、 (上)model.addAttributeの代わりに (下)を使用して、Spring コントローラーに入れてみました。req.setAttribute

PicasawebService service = new PicasawebService("Picasa test");
PicasawebClient picasaClient = new PicasawebClient(service);
List<AlbumEntry> albums = picasaClient.getAlbums("cgcmh1@gmail.com");
for (AlbumEntry album : albums){
    logger.warn("albums:" + album.getTitle().getPlainText());
    List<PhotoEntry> photos = picasaClient.getPhotos(album);
    model.addAttribute("photos", photos);
}

ただし、Spring コードは Picasa でアルバムを見つけることができませんが、サーブレット コードはアルバムを見つけることができます。

なぜこれが事実なのか誰にも分かりますか?

どちらの場合も、このバージョンの PicasawebClientこのバージョンのPicasawebService を使用しています。

4

1 に答える 1

0
model.addAttribute("photos", photos);

反復ごとにマップの属性を上書きするphotosため、最後のアルバムにのみアクセスできます。

于 2011-02-18T08:18:15.327 に答える