cocoon-users-fr mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Philippe Guillard <pguill...@citycita.net>
Subject Re: flow sendPage/redirectTo
Date Tue, 12 Apr 2005 08:43:09 GMT
Merci beaucoup,

En fait je suis dans le portal, donc ce serait plutot un 
redirectTo("select", true) et je me suis melange les pedales.
J'utilise finalement un while()  inspire du Supersonic Tour, sans doute 
plus propre, avec l'avantage de ne pas laisser une continuation attendre 
son timout,  je le conseille donc a ceux qui pourraient se trouver dans 
une situation similaire  de 2 forms en cascade:

while(true) {
    cocoon.sendPageAndWait("selectForm", bizdata);   
    if(cocoon.request.getParameter("submit")!=null) { break;}
    else { addtForm(); } //contient le sendPageAndWait("addForm") + acces DB
}
cocoon.sendPage(End);

PS:Il peut me contacter s'il est perdu a Shanghai...

Sylvain Wallez wrote:

> Philippe Guillard wrote:
>
>> Merci,
>>
>> Pour le <pub>,  respect, et j'aimerais bien rencontrer plus de 
>> cocooners, mais je suis base en Chine...
>
>
>
> Marrant, mon fils ainé a pris l'avion ce matin pour un voyage de 15 
> jours en Chine :-)
>
> Il y a un certain "Roy Huang" (lingererhuang@hotmail.com) qui 
> intervient sur les mailing-lists et nous a fourni les traductions 
> chinoises pour Cocoon Forms.
>
>> Je vais essayer de decrire simplement:
>> J'ai un form1 qui contient un lien <a href> pour un autre form2, 
>> celui ci termine par une redirection pour recommencer form1. Le form 
>> 1 est un select, le form 2 est pour ajouter des elements a ce qui est 
>> presente en from1.
>>
>> <!--sitemap match pattern="select"--->
>> function select(selectForm) {
>>    // lecture DB
>>    cocoon.sendPageAndWait(selectForm);
>>    // cette page contient un lien <a href="add">Vous voulez 
>> ajouter/changer des elements a cette selection</a>
>>    cocoon.sendPage(End);
>> }
>> <!--sitemap match pattern="add"--->
>> function add(addForm) {
>>    cocoon.sendPageAndWait(addForm);
>>    // POINT1
>>    // ecriture DB
>>    cocoon.redirectTo("cocoon:/select",true); //Je veux recommencer 
>> select depuis le debut, pas le "continuer"
>>    // POINT2
>> }
>>
>> Mon flow semble planter le flow debugger et repasser en boucle la 
>> portion de POINT1 a POINT2, puis java.lang.StackOverflowError.
>
>
>
> Trouvé, c'est un classique! Le problème vient du 
> redirectTo("cocoon:/select") : on revient dans la sitemap, et je 
> suppose que celle-ci doit avoir un test soit sur la méthode HTTP ou un 
> matcher sur l'existence d'un paramètre "continuation-id" qui déclenche 
> l'appel de la continuation.
>
> Or la continuation en question, c'est celle qui nous a conduit à 
> sortir au POINT1, et donc on refait "écriture DB" et le 
> redirectTo("cocoon:/select"). Et on boucle...
>
> La solution est donc de faire un redirectTo("select") qui repasse par 
> le navigateur et donc casse le bouclage.
>
> Sylvain
>


---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org


Mime
View raw message