ADF: row.attributeName vs. row.bindings.attributeName

来源:互联网 发布:程序员的薪资 编辑:程序博客网 时间:2024/06/11 19:48

在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。

原创粉丝点击