Wie funktioniert das Attribut 'binding' in JSF? Wann und wie soll es angewendet werden?
Es gibt viele unterschiedliche Materialienvalue
Attribut undbinding
Attribut in JSF.
Mich interessiert, wie sich beide Ansätze voneinander unterscheiden. Gegeben:
public class User {
private String name;
private UICommand link;
// Getters and setters omitted.
}
<h:form>
<h:commandLink binding="#{user.link}" value="#{user.name}" />
</h:form>
Es ist ziemlich einfach, was passiert, wenn avalue
Attribut ist angegeben. Der Getter rennt, um das zurückzugebenname
Vermögenswert derUser
Bohne. Der Wert wird in der HTML-Ausgabe ausgegeben.
Aber ich konnte nicht verstehen wiebinding
funktioniert. Wie unterhält das generierte HTML eine Bindung mit demlink
Eigentum derUser
Bohne?
Nachstehend finden Sie den relevanten Teil der generierten Ausgabe nach manueller Verschönerung und Kommentierung (beachten Sie, dass die IDj_id_jsp_1847466274_1
wurde automatisch generiert und es gibt zwei versteckte Eingabe-Widgets). Ich verwende Suns JSF RI, Version 1.2.
<form action="/TestJSF/main.jsf" enctype="application/x-www-form-urlencoded"
id="j_id_jsp_1847466274_1" method="post" name="j_id_jsp_1847466274_1">
<input name="j_id_jsp_1847466274_1" type="hidden" value="j_id_jsp_1847466274_1">
<a href="#" onclick="...">Name</a>
<input autocomplete="off" id="javax.faces.ViewState" name="javax.faces.ViewState"
type="hidden" value="-908991273579182886:-7278326187282654551">
</form>
Wo ist der, die, dasbinding
hier gespeichert?