2010-06-07 57 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) { 
    // ... 
} 

雖然這原本應該已經產生了相當自我解釋的異常。