If we do something like this: <h:inputText id="name" value="#{customer.name}" />, then inputText can assign a value to name in customer if I understood correctly. How does this value assignment look like in code:
From what I found, it goes to inputText bean and there are setXXX and getXXX methods, but how does the bean or the upper level know to distinguish between each one of them from the above expression?
I'm missing the stages that are in between those two levels. I read the Oracle's tutorial on EL, but it doesn't mention a word on how to assign a value to existing expression. I also read about the <c:set tag, but I didn't see any place where it assign values to expressions.
EDIT: To be more accurate, I'm interested in how does the jsf input_text bean assigns a value to #{customer.name} . So what I found out is that it has to do something like this to give support for deferred expressions:
private javax.el.ValueExpression attributeName = null;
public void setAttributeName(
javax.el.ValueExpression attributeName)
{
this.attributeName = attributeName;
}
Now my guess is there's some listener, that does something like attributeName.set(somehowGetContext(),whateverTheValueInInputTextBoxWasChangedTo). Could someone confirm it and tell me that this is what I'm supposed to do when I develop my own beans?