I expect Seam to re-initialize the value when it goes out of scope.
How does Seam know when a context variable goes out of scope? If Seam sees a @Out
variable go out of scope, then it sees the bijected field with no factory... It should
just ignore it and leave whatever value happened to be there? Once the value goes out of
scope, I hoped it would be re-initialized to false. Ok, so I wouldn't be surprised if
you couldn't keep track of the initial value, but at least set it to null.
Using a Boolean doesn't help. And the problem is I only set the value to true when I
need to (show the form). The rest of the time, i.e. after it goes out of scope, I need it
to be false. But like I said, that means I need a factory just to re-initialize a
page-scoped boolean. Otherwise it hangs on to the old value.
Can you elaborate on your suggestion? My situation feels analogous to having a variable
defined in a method, and the variable is getting the value it had when method was last
called. (Obviously the mechanics are very different but from a user standpoint I am in
the same situation.)
I solved my problem making all of my beans that keep track of the form state stateful
& page scoped.
Like I said, think I understand why this is happening, I just don't think it's a
very desirable behavior. It sounds like the answer is "don't biject a
narrow-scoped field into a wide-scoped bean unless you have a factory. If you do,
you'll have an inconsistent state when the template is rendered." But regardless
of why it is happening, I don't think it is um, "good" behavior or desirable
in any situation and suggest it be disallowed or at least document some sort of warning or
output a log warning when such a thing is detected.... Is that at least possible?
Thanks.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4129994#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...