Erreur "getOutputStream() has already been called for this response"
Bonjour a tous,
J'ai un problème sur l'affichage d'une gallery d'image avec struts2 en effet voici mon code :
L’endroit ou j'appelle mon action Struts 2 :
Code:
1 2
|
<img src="<%=request.getContextPath()%>/a/imagefacebookprofile.action?imageByte=imageEnBytes" alt="FacebookProfilePicture"> |
Mon action struts :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
public class ImageFacebookProfile extends ActionSupport {
@Override
public String execute() {
HttpServletResponse response = ServletActionContext.getResponse();
try {
response.addHeader("Content-type", "image/jpeg");
response.setContentType("image/jpeg");
HttpServletRequest request = ServletActionContext.getRequest();
if (request.getSession() != null) {
byte[] image = (byte[]) request.getSession().getAttribute("imageEnBytes");
request.getSession().removeAttribute("imageEnBytes");
response.getOutputStream().write(image);
response.getOutputStream().flush();
response.getOutputStream().close();
}
} catch (IOException ex) {
ex.printStackTrace();
}finally{
}
return null; |
Le mapping de mon action dans le struts.xml
Code:
1 2
|
<action name="imagefacebookprofile" class="com.scanmatch.nfcdev.facebook.ImageFacebookProfile" /> |
Dans cette exemple ma page affiche correctement mon image par contre quand dans l'url j'essaie d'avoir ma page directement une erreur ce produit :
Code:
1 2
|
java.lang.IllegalStateException: PWC3991: getOutputStream() has already been called for this response |
Ce qui m'embête grandement car j'essai d'avoir une gallery d'image mignature et je fais cela en jquery :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
jQuery(function($){
// Mon script
var settings = {
thumbListId: "thumbs",
imgViewerId: "viewer"
};
var thumbLinks = $("#"+settings.thumbListId).find("a"),
firstThumbLink = thumbLinks.eq(0);
$("#"+settings.thumbListId).after(
$(document.createElement("p"))
.attr("id",settings.imgViewerId)
);
var imgViewer = $("#"+settings.imgViewerId);
}); |
Ma page jsp :
Code:
1 2 3 4 5 6
|
<ul id="thumbs" data-role="listview" data-split-icon="gear" data-split-theme="d">
<li>
<a href="<%=request.getContextPath()%>/a/imagefacebookprofile.action?imageByte=imageEnBytes">
<img src="<%=request.getContextPath()%>/a/imagefacebookprofile.action?imageByte=imageEnBytes" alt="FacebookProfilePicture">
</a> |
Et la j'ai la même erreur quand je clique sur l'image. J'ai pas mal cherché sur développez.com des sujet similaires sont évoquaient mais jamais mon cas.
Et même sur d'autre forum :
Si quelqu'un a une réponse je lui en serrais reconnaissant.
Merci de m'avoir lu.
Cordialement