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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
 <img src="<%=request.getContextPath()%>/a/imagefacebookprofile.action?imageByte=imageEnBytes"  alt="FacebookProfilePicture">
Mon action struts :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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