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>>

Reply via email to