我是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){}
答案 0 :(得分:4)
尝试定义接收Long(对象)而不是long(primitive)的方法。
public String findStats(Long id){}