[英]Why does the same code work in a servlet but not in a Spring controller?
此代码在servlet中起作用:
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
(下)而不是req.setAttribute
(上)将其放在Spring控制器中:
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中找到任何相册,而servlet代码可以成功找到它们。
有人知道为什么会这样吗?
在这两种情况下,他们都使用此版本的PicasawebClient和此版本的PicasawebService 。
model.addAttribute("photos", photos);
将在每次迭代时覆盖地图的photos
属性,因此您将只能访问最后一个相册。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.