Jsf 以编程方式将ActionListener添加到PrimeFaces菜单项
我试图以编程方式将动作侦听器定义为菜单项,然后菜单使用该菜单项。在互联网上搜索解决方案,找到了一些例子,但有一些方法没有在PF 4.0中实现(我想),我该怎么做?这就是我到目前为止所拥有的Jsf 以编程方式将ActionListener添加到PrimeFaces菜单项,jsf,primefaces,actionlistener,menuitem,Jsf,Primefaces,Actionlistener,Menuitem,我试图以编程方式将动作侦听器定义为菜单项,然后菜单使用该菜单项。在互联网上搜索解决方案,找到了一些例子,但有一些方法没有在PF 4.0中实现(我想),我该怎么做?这就是我到目前为止所拥有的 @ManagedBean @RequestScoped public class MenuTest implements Serializable{ private MenuModel model; public MenuTest() { model = new DefaultMenuModel(
@ManagedBean
@RequestScoped
public class MenuTest implements Serializable{
private MenuModel model;
public MenuTest() {
model = new DefaultMenuModel();
MenuItem item;
item = new MenuItem();
item.setValue("Menuitem 1"); //Error Here -> Can't find method -
//Only setLabel or setName available
item.addActionListener(new MenuActionListener()); // Incompatible types
/MenuActionListener cant be converted to Action Listener -> Why?
model.addMenuItem(item); // Can't find method
model.addElement(item); // Incompatible types - .
//Menu Item cannot be converted to Menu Element
}
public MenuModel getModel() {
return model;
}
}
我的动作听众课
public class MenuActionListener implements ActionListener {
public MenuActionListener() {
}
@Override
public void processAction(ActionEvent event) throws AbortProcessingException{
System.out.println("Test Action Listener called..");
System.out.println("Source of the Event is ");
}
}
类型不同,但由于
MenuActionListener
实现了ActionListener
,因此可以使用:item.addActionListener((ActionListener)new MenuActionListener())
;实际上,我做到了这一点,尽管我在运行project时遇到了一个无法强制转换的异常=/您的ActionListener是否正在导入javax.faces.event.ActionListener
或java.awt.ActionListener
(或其他内容)?javax.faces.event.ActionListener=/