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 :
Mon action struts :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <img src="<%=request.getContextPath()%>/a/imagefacebookprofile.action?imageByte=imageEnBytes" alt="FacebookProfilePicture">
Le mapping de mon action dans le struts.xml
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;
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 <action name="imagefacebookprofile" class="com.scanmatch.nfcdev.facebook.ImageFacebookProfile" />
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 java.lang.IllegalStateException: PWC3991: getOutputStream() has already been called for this response
Ma page jsp :
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); });
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.
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 même sur d'autre forum :
Si quelqu'un a une réponse je lui en serrais reconnaissant.
Merci de m'avoir lu.
Cordialement
Partager