我有以下bean:
package com.company.test;
public class EventFileBean
{
public EventFileBean()
{
System.out.println("testing... inside EventFileBean");
}
}
它已在 xml 文件中注册:
<managed-bean>
<managed-bean-name>eventFileBean</managed-bean-name>
<managed-bean-class>com.company.test.EventFileBean</managed-bean-class>
<managed-bean-scope>view</managed-bean-scope>
</managed-bean>
我打电话给:
<p:commandButton value="#{msg.yes}" ajax="false"
action="#{eventFileBean.eventFileBean}"
styleClass="stdButton greenButton" oncomplete="confirmation.hide()"/>
它崩溃时出现错误" javax.el.MethodNotFoundException: /workshop/editWorkshop.xhtml @86,221 action="#{eventFileBean.eventFileBean}"
,但它打印出消息"testing... inside EventFileBean"
,因此它必须找到该方法。
有谁可以告诉我什么是错的或者需要设置什么?
答案 0 :(得分:0)
您的方法// array like object
var obj = { 0: 'a', 1: 'b', 2: 'c' };
console.log(Object.keys(obj)); // console: ['0', '1', '2']
是一种特殊方法,因为它与您的类具有相同的名称:它是类的构造函数,因此无法通过该名称识别。
此外,我不确定大小写是否有所不同:您的方法以大写字母开头,而在您的xml中,您在搜索开头的小写字母方法。由于Java区分大小写,因此不一样。
将方法重命名为类名以外的其他名称。也许只是使用小写字母作为第一个字母已经有效,否则尝试一个完全不同的名称。