Hi Geoff,
Which is the tomahawk version you have in use? There is a tomahawk12
branch which is required for your task. I'm doing saveState with
tomahawk12_1.1.8 on glassfish v2.1
Best Regards,
Ganesh
Geoff Longo schrieb:
I have an application where I am trying to change the JSF
implementation from MyFaces Core 1.2.6 to Mojarra 1.2_12. I was
hoping the application could still make use of the tomahawk saveState
tag, as we use it heavily throughout the application. But it appears
that the saveState tag is not working properly with Mojarra. I have
debugged the issue and have found that the saveState and restoreState
methods do get invoked, and it is able to restore the object
successfully. But when the restoreState method tries to set the
restored object through the ValueExpression, it eventually tries to
resolve the variable by calling Mojarra's
ManagedBeanELResolver.setValue() method. Inside this method, there is
code to create the managed bean if the base is null (which in my case
it is, however, the property is not). So this causes a new
ManagedBean to be created, and the one that was restored by saveState
is lost. The MyFaces ManagedBeanResolver does not have this logic,
thus it does not resolve the bean and it continues on until the
ScopedAttributeResolver class resolves it.
My saveState declaration looks like this (we are saving the state of
the entire bean):
<t:saveState id="MyBackingBean" value="#{MyBackingBean}"/>
I tried to write a custom EL Resolver, but I'm not sure exactly what
to do in this case, since I want to preserve the behavior of the other
Resolvers.
Any ideas?
Thanks,
Geoff