I ran into something along these lines recently. In my case, there was a managed bean with a
public void changeSpecifiedRole(ValueChangeEvent event) method being called by MyFaces after the first button press which was erroneously [for that version of MyFaces] invoking "renderResponse()". Perhaps you have a similar listener which explictly calls renderResponse? Hope that helps, James -----Original Message----- From: Yasushi Okubo [mailto:[EMAIL PROTECTED] Sent: Tue 5/30/2006 10:01 AM To: MyFaces Discussion Subject: question for filedownload jsp with commandLink and commandButton Hi experts, I have multiple download links [commandLink] /buttons[commandButton] on the same page. I realized that a user needs to click twice to see an open directory window from the second attempt, I do not understand why this is happening. The download page was implemented with jsp page. commandLink/commandbutton are simply taking a user to this download page by clicking a link or a button. At the first click, a use always go to this page and the browser asks a user if one wants to save a directory or open on the browser. Then a user can decide to cancel or save or open. At the second attempts, the problem is that a user clicks link/button subsequently right after the first attempt, the action does not take a user to the jsp page, and it only reloads page with a round trip. Then a user needs to click a link/ a button second time, then it works. Could someone advise me why this is happening and is there anyway to stop this ? I implemented a commandbutton + actionListener [in backing bean] solution for file download, but the result was the same. From the second attempt, a user always needs to click twice [double click] button. I saw the one post on google is that adding _blank on form tag helps, but it actually did not help at all. Any idea ? yasushi ==== partial code for jsp page ==== .... if(allowCache == null || allowCache.equalsIgnoreCase("false")) { response.setHeader("pragma", "no-cache"); response.setHeader("Cache-control", "no-cache, no-store, must-revalidate"); response.setHeader("Expires", "01 Apr 1995 01:10:10 GMT"); response.addHeader("Cache-Control", "post-check=0, pre-check=0"); response.setDateHeader ("Expires", 0); } if(contentType!=null) { response.setContentType(contentType); } if(fileName != null) { StringBuffer contentDisposition = new StringBuffer(); if("true".equals(openDirectly)) { contentDisposition.append("attachment;"); logger.info("==> attachement"); } contentDisposition.append("filename=\""); contentDisposition.append(fileName); contentDisposition.append("\""); response.setHeader ("Content-Disposition", contentDisposition.toString()); } if (bytes != null) { response.getOutputStream().write(bytes); }
<<winmail.dat>>

