Matej's scenario looks to me very much like a 'wizard' or even more generalized
as a flow.
Most probably the generic scenario sounds like:
1/ on each page do validate the page input and persist the state
2/ on the end page validate the whole input
WebWork has added support for something similar by incorporating rife-continuations. Unfortunately
my knowledge about continuations and rife is reduced, so I cannot further comment.
hth,
./alex
--
.w( the_mindstorm )p.
#: Matej Knopp changed the world a bit at a time by saying on 11/13/2005 3:04
AM :#
Hi.
I know this has been discussed already, but still I'm opening it once
more. I think there should be a way to preserve form state without
validation and model updating.
The use case is following.
I have a (complex) form with some fields, that can not be entered
directly, i.e. they have to be selected on other page. So I need to move
between pages, but I don't want to lose any information entered on the
previous page. If I use Button, the form gets processed, validated, etc
and the action won't execute unless all entered data is valid. If I turn
defaultProcessing off, the action executes, but the data (not written to
model yet) is lost.
What I'm using now is little hacky, but it works. I have my own class
derived from Form, my own SubmitButton, ImmediateButton and
FeedbackPanel. ImmediateButton acts like classic Button with
defaultFormProcessing turned off, but unlike it, ImmediateButton stores
the state in each component (in the string reserved for invalid data).
So there's my own Feedback panel (Although filter would be probably
enough) that detects that ImmediateButton was clicked and hides
validation messages (there's a lot of them, because ImmediateButton
marks every component as invalid).
This approach works pretty well, but doesn't feel quite right. I think
there definitely should be a way to preserve form state (without
validation and updating model) directly supported by wicket.
Not to mention that (if I recall correctly) the string field in
FormComponent used for storing invalid data is transient.
Btw. I've managed to persuade people from my company to use wicket for
one of our projects. Since I do most of the current development, it's
not a big deal, because I've personally been using wicket for some time
now. But I can say they are really impressed with the productivity and
simplicity of certain actions (like moving between complex pages forth
and back ;) - that are sometimes quite difficult and cumbersome in struts.
Not to mention excellent DataView and DatePicker components, markup
inheritance and compoents in general.
Kudos wicket team, you're doing excelent work!
Sorry for really long mail,
-Matej
-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
Wicket-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-user
-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc. Get Certified Today
Register for a JBoss Training Course. Free Certification Exam
for All Training Attendees Through End of 2005. For more info visit:
http://ads.osdn.com/?ad_id=7628&alloc_id=16845&op=click
_______________________________________________
Wicket-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-user