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

위와 같이 생성하는 동작 수신기를 만들었지 만 수신기가 호출되지 않았습니다. 백킹 빈에서 드롭 다운의 getter 안에 메소드를 포함시켰다. 구성 파일에 조치 수신기를 구성해야합니까? 친절하게 도와주세요.동적 리치 만들기 : 드롭 다운 메뉴

답변

0

RichFaces를 수행하지 않으므로 동작이 다를 수 있지만 "일반"JSF를 사용하면 적어도 UICommand 구성 요소에 고정 ID를 수동으로 설정해야합니다.

menuItem.setId("someFixedId"); 

또한 "#{PrismBacking.onItemClick}" 뒤에있는 방법은 정확히이 서명이 있는지 확인 :

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

즉, 그렇지 않으면 꽤 자기 설명하는 예외를 생산해야하지만.