I've gotten the Web Flow JSF integration and sellitem-jsf sample (in
spring cvs in the spring-projects module) fully working at this time,
for the most part.
One thing it does not do is use the continuation storage as does the
normal sellitem sample. While continuation storage works fine even in
the JSF environment, the problem is that the JSF component tree itself
has state, and would itself need to be stored out client side (or to
some sort of continuation storage) for free form use of browser back and
forward buttons. So for the time being the sellitem-jsf sample is just
set to use normal session storage for the flow execution.
Note that as far as I know MyFaces and/or the JSF RI do implement client
side component state storage as an alternative to session storage. I
just haven't had time to investigate this yet...
There is at this time no example of validation. Where the original
sellitem used normal Spring Validators, in the JSF world you would
normally use JSF validators to validate visible fields and show input
errors in a JSF proper fashion. There is probably still value in
allowing Spring validators to be used in some fashion. This does not
necessarilly need any infrastructure support; a flow action could simply
apply a normal validator.
One final question concerns auto-creation of flow-scoped variables by
reference from JSF pages. Currently when a flow scoped variable is
referenced from a page, and it doesn't already exist in the flow, the
variable is expected to be a bean (prototype typically) in the flow's
app context. There probably needs to be some sort of namespace mechanism
here so people don't accidentally refer to just any bean in the app
context, and accidentally use it, without realizing it.
Colin
--
Colin Sampaleanu
Interface21 Principal Consultant
Spring Training, Consulting and Support - "From the Source"
http://www.springframework.com
|