如何访问java bean的非getter / setter方法

时间:2012-05-26 15:56:35

标签: java jsf javabeans el

我有一个xhtml页面,它从java bean中获取值:

<h:dataTable value="${myBean.getAccounts}" var="account">
        <h:column>
            <f:facet name="header">Account ID</f:facet>
            #{account.id}
        </h:column>
        <h:column>
            <f:facet name="header">Account Name</f:facet>
            #{account.name}
        </h:column>

</h:dataTable>

问题是当我在Tomcat 7服务器上运行它时,我收到一个错误:getAccounts不是myBean属性。 java类的getAccounts方法是一个返回一些结果的独立方法。

我无法调用此方法吗?

感谢任何帮助。

谢谢!

3 个答案:

答案 0 :(得分:5)

属性名称是帐户,而不是 getAccounts getAccounts是一个返回属性 accounts

的getter

答案 1 :(得分:1)

EL将任何带有get / set前缀的方法视为属性,因此如果您使用该方法调用任何方法,则可以省略get / set部分。

答案 2 :(得分:1)

杰夫的回答是正确的。只是一些额外的信息:

您的方法称为getAccounts(),但在EL中您需要说#{mybean.accounts}

使用h:dataTable here

有一个很好的完整示例