Java EE outputText with method&参数,在dataTable中

时间:2014-11-20 11:36:41

标签: java xml java-ee ejb

我是Java Enterprise的新手,对不起,如果已经回答,我找不到具体的内容。我试图循环一个数据表,并从每个结果调用一个带有id的方法并显示一些信息。 我的XML看起来像这样:

        <h:dataTable styleClass="data" value="#{moduleBean.allModules}" var="m" class="modulelist">
      <h:column>
        <f:facet name="header">#{uistrings.module_name}</f:facet>
      #{m.name}
      </h:column>
      <h:column>
          <f:facet name="header">#{uistrings.approved}</f:facet>
              <h:outputText value="#{moduleBean.findStats(m.id}"/>
      </h:column>
    </h:dataTable>

moduleBean.allmodules()返回模块对象列表。这很好用。 问题是moduleBean.findStats()。

错误讯息:

    javax.el.MethodNotFoundException: java.lang.NoSuchMethodException: no.uia.slit.web.ModuleBean$$OwbNormalScopeProxy0.findStats(java.lang.Long)

viewId=/teacher/status.xhtml
location=D:\code\github\neiva\build\web\teacher\status.xhtml
phaseId=RENDER_RESPONSE(6)

Caused by:
java.lang.NoSuchMethodException - no.uia.slit.web.ModuleBean$$OwbNormalScopeProxy0.findStats(java.lang.Long)
at java.lang.Class.getMethod(Class.java:1773)

/teacher/status.xhtml at line 27 and column 72 value="#{moduleBean.findStats(m.id)}"

如果我将方法更改为不接受任何参数,并将其称为&#34;#{moduleBean.findStats&#34;}它可以工作,但是如何将参数传递给方法?

方法的定义如下:public String findStats(long id){}

1 个答案:

答案 0 :(得分:4)

尝试定义接收Long(对象)而不是long(primitive)的方法。

public String findStats(Long id){}