MethodExpression methodExpression =
application.getExpressionFactory().createMethodExpression(
FacesContext.getCurrentInstance().getELContext(),
"#{PrismBacking.onItemClick}",
null,
new Class[] { ActionEvent.class });
menuItem.setActionExpression(methodExpression);
我在创建动作侦听器之上创建了一个动态下拉列表,但未调用侦听器。我将方法包含在支持bean的下拉列表中。我是否必须在任何配置文件中配置动作侦听器。善意的帮助。
答案 0 :(得分:0)
我不做RichFaces,因此它可能表现不同,但使用“普通”JSF,您至少必须手动在UICommand
组件上设置固定ID。
menuItem.setId("someFixedId");
同时确保"#{PrismBacking.onItemClick}"
背后的方法具有此签名:
public void onItemClick(ActionEvent event) {
// ...
}
虽然这应该产生一个非常自我解释的例外。