2010-06-07 102 views
0
MethodExpression methodExpression = 
    application.getExpressionFactory().createMethodExpression( 
     FacesContext.getCurrentInstance().getELContext(), 
     "#{PrismBacking.onItemClick}", 
     null, 
     new Class[] { ActionEvent.class }); 
menuItem.setActionExpression(methodExpression); 

我创建了一个动态的下拉,如上我的创建动作侦听器,但没有调用侦听器。我将该方法包含在后台bean的下拉getter中。我必须在任何配置文件中配置动作监听器吗?善意帮助。创建动态丰富:dropdownmenu

回答

0

我不会做RichFaces,所以它可能会有不同的表现,但对于“普通”JSF,您至少必须手动在UICommand组件上设置固定ID。

menuItem.setId("someFixedId"); 

还要确保后面"#{PrismBacking.onItemClick}"该方法具有准确此签名:

public void onItemClick(ActionEvent event) { 
    // ... 
} 

虽然这原本应该已经产生了相当自我解释的异常。