创建动态丰富:dropdownmenu

时间:2010-06-07 11:55:48

标签: jsf richfaces

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

我在创建动作侦听器之上创建了一个动态下拉列表,但未调用侦听器。我将方法包含在支持bean的下拉列表中。我是否必须在任何配置文件中配置动作侦听器。善意的帮助。

1 个答案:

答案 0 :(得分:0)

我不做RichFaces,因此它可能表现不同,但使用“普通”JSF,您至少必须手动在UICommand组件上设置固定ID。

menuItem.setId("someFixedId");

同时确保"#{PrismBacking.onItemClick}"背后的方法具有此签名:

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

虽然这应该产生一个非常自我解释的例外。