Hi,

we've had a similar problem in our last project and narrowed it down to
caching in browsers and proxies.
you may try setting http-headers "pragma" to "no-store" and "cache-control"
to "no-cache".

We did it with a PhaseListener:

public void beforePhase(PhaseEvent event) {
        FacesContext facesContext = event.getFacesContext();
        HttpServletResponse servletResponse
                    = (HttpServletResponse) facesContext.getExternalContext
().getResponse();
        servletResponse.setHeader("expires", "0");
        servletResponse.setHeader("cache-control", "no-store");
        servletResponse.setHeader("pragma", "no-cache");
    }

    public void afterPhase(PhaseEvent event) {
        //do nothing
    }

    public PhaseId getPhaseId() {
        return PhaseId.RENDER_RESPONSE;
    }



cheers,
Christoph


-On 8/23/07, David Delbecq <[EMAIL PROTECTED]> wrote:
>
>  Could it be there is a rendered=".." on or surrounding the button you try
> to use? If during the apply request value , the button is marked as not
> rendered, it's action won't be called. Try to reduce as much as possibile
> your form until you find what make it not working.
>
> Fan Shao a écrit :
>
> The action of the buttons didn't seem being called when that happened. I put
> a breakpoint in the action method and it was not fired up. It can be fired
> up normally when the button behaves normally. BTW, I am using Facelets. The
> filters defined in web.xml are Myfaces filters. I am using Tomahawk as well.
>
> A few more information. That page also has a drop-down box. I put a
> onclick="this.form.submit()" and valueChangeListener="xxx..." within the
> tag, so when I change the value of the drop-down box, it refreshes a
> textfield in the page. This drop-down box is working very well. As a
> comparison, the drop-down box works well and the button doesn't. However, I
> cannot find any clue from this.
>
> Lots of thanks again!
>
>
> Fan
>
>
>
> David Delbecq-2 wrote:
>
>  Following what your said previously about this, i assume that
>
> 1) The view is in a restore state and not a create state (you mentionned
> clearly that you showed page *after* reloading page and *before*
> clicking button)
> 2) There are no validation problems (you stated <h:messages/> has empty
> output)
>
> Then i suggest you investigate your action methods, linked to the
> command param. It's probably that this action is sending a null or other
> incorrect result, for various reason that are related to your managed
> bean code. Check also that you have no third party filters that could
> interact with a POST to a url ending in ;JESSIONID=...., since, after
> first load of form, this is what the submit url will look like thanks to
> container url rewriting mecanism.
>
>
>
> En l'instant précis du 23/08/07 15:05, Fan Shao s'exprimait en ces termes:
>
>  Hi, I've been stuck there for days. Could anyone help?
>
>
>
> Fan Shao wrote:
>
>        Hi there,
>
> I've written a JSF page using Facelets template. I have a form in the
> page
> and a button. Every time I restarted the webapp, the first time I click
> the button it just refreshes the page and resets all the input fields.
> After that the button works normally with all the fields correctly
> submitted.
>
> This means I have to click the button once before I can do any work
> everytime the server is restarted.
>
> Anyone has any idea about this problem?
>
>
>
>        --
> http://www.noooxml.org/
>
>
>
>
>

Reply via email to