我目前正在阅读 Core JavaServer Faces(3e) 书。
我正在尝试运行本书第 11 章中的 ajax spinner 代码。
我正在为 Eclipse、weblogic 10.3.5 服务器和 Mojarra impl 使用 Oracle 企业包。
但 UISpinner 类显示以下错误消息:
“UISpinner 类型必须实现继承的抽象方法 ClientBehaviorHolder.getClientBehaviors()”</p>
但是,根据 jsf 规范 - UIComponentBase 类实现了由 UISpinner 类继承的 getClientBehaviors() 方法。仍然为什么我收到此错误?请帮忙。
这是 UISpinner 类的实现:
package com.corejsf;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import javax.faces.component.FacesComponent;
import javax.faces.component.UIInput;
import javax.faces.component.behavior.ClientBehavior;
import javax.faces.component.behavior.ClientBehaviorHolder;
import javax.faces.convert.IntegerConverter;
@FacesComponent("com.corejsf.Spinner")
public class UISpinner extends UIInput implements ClientBehaviorHolder {
private static List<String> eventNames = Arrays.asList("click");
public UISpinner() {
setConverter(new IntegerConverter());
// to convert the submitted value
setRendererType("com.corejsf.JSSpinner");
// this component has a renderer
}
public String getDefaultEventName() { return "click"; }
public Collection<String> getEventNames() { return eventNames; }
}