With binding attribute you are mapping the actual component and NOT the component's value. For e.g the property in backing bean for your sample looks like below
UIInput htmlInputText= null;
...
public void setHtmlInputText(UIInput userNoComponent) {
  this.userNoComponent = userNoComponent;
}
public UIInput getHtmlInputText() {
  return userNoComponent;
} 
Binding a component instance to a bean property has these advantages:
- The backing bean can programmatically
modify component attributes. 
- The backing bean can instantiate
 components rather than let the page
 author do so.
Find more details in this tutorial