2011-02-17 54 views
0

這個代碼在一個servlet:爲什麼相同的代碼在servlet中工作,但不在Spring控制器中工作?

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

於是,我把它放在一個Spring控制器使用model.addAttribute(下同),而不是req.setAttribute(上圖):

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

然而,春節代碼無法在Picasa中找到任何相冊,而servlet代碼發現它們成功。

任何人都知道爲什麼是這樣的情況?

在這兩種情況下,他們正在使用this version of the PicasawebClientthis version of the PicasawebService

+0

您的JSP看起來像什麼?你的Spring配置是什麼樣的? – skaffman 2011-02-17 23:02:23

回答

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

將覆蓋在每次迭代的地圖photos屬性,所以你只能訪問最後一張專輯。

相關問題