You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by "Christophe Cordenier (JIRA)" <ji...@apache.org> on 2010/07/21 00:01:04 UTC

[jira] Closed: (TAP5-1176) async form submission creates a new session every time when cookies are disabled

     [ https://issues.apache.org/jira/browse/TAP5-1176?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Christophe Cordenier closed TAP5-1176.
--------------------------------------

    Fix Version/s: 5.2
       Resolution: Fixed

This has been fixed in T5.2, now linkToZone Urls are generated at the end of the HeartBeat, so if the session exists jsession is appended to the URL.

As a workaround you should call the session first in your page to ensure that the session is created before your form component renders.

> async form submission creates a new session every time when cookies are disabled
> --------------------------------------------------------------------------------
>
>                 Key: TAP5-1176
>                 URL: https://issues.apache.org/jira/browse/TAP5-1176
>             Project: Tapestry 5
>          Issue Type: Bug
>    Affects Versions: 5.1
>         Environment: windows, tomcat 6
>            Reporter: Paul Stanton
>            Assignee: Christophe Cordenier
>             Fix For: 5.2
>
>
> If cookies are disabled on a server, tapestry fails to continue an existing session when a form is submitted via ajax. a new session is created every time the form is submitted.
> The following example works fine (session id does not change) when cookies are enabled for the webapp container, but does not work (new session id every submit) when cookies are disabled.
> public class Start
> {
>    private final static Logger LOG = Logger.getLogger(Start.class);
>    @Inject
>    private ComponentResources resources;
>    @Inject
>    @Property
>    private HttpServletRequest httpRequest;
>    Object onSuccessFromMyForm()
>    {
>        LOG.debug(httpRequest.getSession().getId());
>        return new MultiZoneUpdate("myZone", resources.getEmbeddedComponent("myZone"));
>    }
> } 
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
> <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd" xmlns:p="tapestry:parameter">
>    <head>
>    </head>
>    <body>
>    <t:form t:id="myForm" t:zone="myZone">
>        <input type="submit" />
>    </t:form>
>    <t:zone t:id="myZone">
>        ${httpRequest.session.id}
>    </t:zone>
>    </body>
> </html> 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.