set methods aren't called

For some of my managed beans, the set methods are not being called for the properties. Instead, it appears that the get methods are being called, and it modifies the reference in order to modify the stored property. I am using Facelets 1.1.12, MyFaces 1.1.4, and tomcat 5.5.17 (the one bundled with netbeans). The bean is a Spring managed being, which JSF accesses through Spring's DelegatingVariableResolver.

[417 byte] By [johnpeeba] at [2007-11-27 9:25:51]
# 1
The setters are only called if the property represents an UIInput value or a JSF component (using the 'binding' attribute). For the other non-UIInput components, like h:outputText and f:selectItems a setter is not required and not needed.
BalusCa at 2007-7-12 22:22:40 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...
# 2

I have a Java object which has a field which references another object. On my jsf page, I have:

<h:inputText value="#{myBean.innerObj.val}" />

When the form is submitted, the setVal method in innerObj is called, but the setInnerObj method in myBean is not called. Instead, it calls getInnerObj and probably uses the reference to modify the object.

johnpeeba at 2007-7-12 22:22:40 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...
# 3
That's correct.
BalusCa at 2007-7-12 22:22:40 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...
# 4
> The setters are only called if the property represents an UIInput value or a JSF component (using the 'binding' attribute).So since, it contains a value which is bound to a UIInput component, shouldn't its set method be called?
johnpeeba at 2007-7-12 22:22:40 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...
# 5
The 'val' property of the 'innerObj' property of the 'myBean' bean contains the actual value to be updated.Or did you expect that the 'innerObj' property is overwritten/renewed everytime when one of it's properties are to be set?
BalusCa at 2007-7-12 22:22:40 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...
# 6
I guess I expected it to get innerObj, update all of its values, then set it. I was trying to maintain database integrity while multiple users are editing it once. Oh well, I guess I'll find another way. Thanks for your help. :-)
johnpeeba at 2007-7-12 22:22:40 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...