На таких веб-страницах
http://www.jsftutorials.net/components/step5.html
Я понимаю, что атрибут связывания в компоненте тега / представления JSF должен связывать компонент представления с экземпляром Java пользовательского интерфейсакомпонент в компоненте поддержки.
Например, вот что делается в следующем коде:
<h:inputText value="#{ myBean.someProperty}" binding="#{ myBean.somePropertyInputText}"/>
Но иногда я вижу код, подобный этому :
<h:commandButton id="t1" binding="#{foo}" value="Hello, World!" onclick="alert('I am #{id:cid(foo)}'); return false;" />
, где id:cid
- это функция taglib, которая определяется следующим образом:
public static String cid(UIComponent component) {
FacesContext context = FacesContext.getCurrentInstance();
return component.getClientId(context);
}
В приведенном выше коде binding="#{foo}"
не привязывается к «экземпляру Java компонента UI вbacking bean ".
Так в чем же смысл таких выражений, как binding="#{foo}"
?