在ADF页面上有两种EL的引用af:tree,af:treeTable,af:table的数据集合的方式。一种是#{row.attributeName},另一种是#{row.bindings.attributeName.inputValue}。 这两者的区别是:前者是只读的 而后者是可读写的。前者这是将该属性以字符串的形式返回,该EL的返回值是一个String类型,后者则不同,#{row.bindings.attributeName}是一个Attribute Binding, 在运行时是一个FacesCtrlAttrsBinding 类的实例,该类是框架内部使用的类,继承了JUCtrlAttrsBinding。所以只要表格需要更新,就应该使用{row.bindings.attributeName.inputValue},另外一个例子是#{node.attributeName},node表示了树组件中的一个节点,可以对应到table组件的row。