Thanks. 

I have already moved to using the session for storage.  I've tried just
adding the complete search panel object to the session in the search
onsubmit() and fetching it again to add to the results page - this works and
avoids some of my page reload and history issues (but adds a few others),
but I presume its not really a good idea to store large object graphs in the
session - maybe better to just store the selected values and rebuild the
selection dropdowns as required.  Plus, this will probably help me iron out
my inconsistent dropdown state problems.  

But I'm still searching for a magic solution that does not involve writing
too much code :-} 



Mr Mean wrote:
> 
> I would not recommend what you are doing here.
> What happens is that wicket removes the panel from the original page
> and attaches it to the new page, making it impossible to use the
> backbutton (because wicket will complain about a missing component).
> Also this only works if the html of the new page uses the same
> component id.
> 
> It is better to store the selection for your dropdowns in the session
> (as suggested before).
> Then in the constructor of your PanelSearch you can check if the
> session contains a value for the dropdowns and if that is the case set
> it as the model for the dropdown. That way you don't have to pass the
> state to every page.
> 
> Maurice
> 
> On Thu, Feb 21, 2008 at 11:35 AM, steviezz <[EMAIL PROTECTED]>
> wrote:
>>
>>  Answering my own questions.
>>
>>  I can also pass the search panel to the results page from my form
>> onSubmit:
>>
>>         setResponsePage(new
>> SearchResults(((PanelSearch)this.getParent()),
>>  search));
>>
>>  Then, in the results page:
>>
>>        public SearchResults(PanelSearch searchPanel, Search search) {
>>                 add(searchPanel);
>>         }
>>
>>  Mostly seems to work OK - panel on results page retains state from
>> search
>>  page.
>>
>>  Still getting some weird behaviour with the Ajax dropdowns on page
>> refreshes
>>  - can get crazy state of North America, Canada, Kansas if I refresh the
>> page
>>  between selection changes (old state gets mixed in with partial new
>> state)
>>
>>  Other thing to sort is how to reload panel state if user goes back to
>> the
>>  home page (containing search panel) via a basic external navigation link
>> -
>>  panel will be in its initial blank state.  Perhaps I do need to look
>> into
>>  loading from the session for this.
>>
>>  But I'm starting to like Wicket - this kind of stuff takes much more
>> code in
>>  other frameworks.
>>
>>
>>
>>
>>  steviezz wrote:
>>  >
>>  > I am now passing the search form model to the new page in the
>> constructor,
>>  >
>>  >   setResponsePage(new SearchResults(search));
>>  >
>>  > Works OK - I assume this is better than going through the session.
>>  >
>>  > But I have no idea (yet) how to reinitialise the search panel Ajax
>>  > widgets.
>>  >
>>  >
>>  >
>>  >
>>  > wicket user-2 wrote:
>>  >>
>>  >> store the backing model in the session and get it from the session,
>> this
>>  >> will help you retain the state in all the cases
>>  >>
>>  >> Cheers
>>  >> Dipu
>>  >>
>>  >>
>>  >>
>>  >
>>  >
>>
>>  --
>>  View this message in context:
>> http://www.nabble.com/Combining-Ajax-and-non-Ajax-pages-tp15587166p15607263.html
>>
>>
>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>
>>
>>  ---------------------------------------------------------------------
>>  To unsubscribe, e-mail: [EMAIL PROTECTED]
>>  For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Combining-Ajax-and-non-Ajax-pages-tp15587166p15610292.html
Sent from the Wicket - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to