Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 为什么我需要对公共属性使用getter?_Jsf_Primefaces - Fatal编程技术网

Jsf 为什么我需要对公共属性使用getter?

Jsf 为什么我需要对公共属性使用getter?,jsf,primefaces,Jsf,Primefaces,在我的表中,我只想得到一个属性,为什么我必须在我的数据对象中写一个getter 我正在声明一个变量“o”(这是我的数据对象),并希望获得公共值“commission”。如果没有getter方法,它将无法工作 view.xhtml: <h:dataTable value="#{ABList.unreadedABs}" var="o" styleClass="ABList-table" headerClass="ABList-ta

在我的表中,我只想得到一个属性,为什么我必须在我的数据对象中写一个getter

我正在声明一个变量“o”(这是我的数据对象),并希望获得公共值“commission”。如果没有getter方法,它将无法工作

view.xhtml:

<h:dataTable value="#{ABList.unreadedABs}" var="o"
                styleClass="ABList-table"
                headerClass="ABList-table-header"
                rowClasses="ABList-table-odd-row,ABList-table-even-row">

   <h:column>
    <f:facet name="header">Commission</f:facet>
    #{o.commission}
    </h:column>

o.commission
引用属性的getter是由于默认的EL解析器,它就是这样实现的。您可以编写自己的EL解析器,直接解析公共属性


查看来自的问题和答案。

o.commission
指的是相关支持bean中
commission
属性(
getCommission()
)的getter方法,而不是
commission
属性本身。感谢您的回复,这很有意义。但我没有预料到这种行为,在Java object.attribute中,它试图为我获取一个属性,而不是调用一个方法。我想不可能调用该属性,不是吗?如果需要,属性需要相应的公共getter方法来访问它们的值,公共setter方法来设置它们的值。你是对的,但不幸的是,它不能与CDI代理一起使用(当一起使用时)。
public class AB {
    public String commission;
}